一个问题的各种设计都会有某方面的好坏(可能是扩展性和易于实现性或者其他方面的指标),
而好的设计就是能在设计之初就看到这些不同点,从而找到最佳的平衡点;(可能是从扩展性和易于实现或者性能的方面的一个平衡)
如果一味的寻求所谓的最好的设计(其实我认为是不可能存在的),那只能说是过度设计了,忘记了程序设计的根本目标!
On 12月11日, 下午1时32分, Jeff Chen <sheismyl...@gmail.com> wrote:
> 我经常会想出很多变态的情况,来测试自己的solution.
>
> 想得越多,越觉得不够,生怕什么特殊情况没有考虑到 :(
>
> 2009/12/11 jun lin <linjunhal...@gmail.com>
非常同意这个观点!应该来说写程序是一个绝对严谨的东西,但要分偏执的是哪个方面,对逻辑的偏执是绝对要支持的;
但看1楼和2楼的很多偏执,看起来和你说的偏执是不同类型的偏执!
On 12月11日, 下午2时10分, jinhu wang <wangjinhu...@gmail.com> wrote:
> 我觉得编程中的“偏执”是一种习惯。写程序很大程度上是一个严谨的东西,你不小心留下的任何一个陷阱都可能会成为将来的一个灾难,所以偏执一点没坏处。
> 我记得高中的时候做题,计算完结果,我总会再用另一种方式验证一遍,这就是迭代吧。
>
> 2009/12/11 Poople <pooples...@gmail.com>
>
>
>
> > 不分享偏执了,先泼泼冷水 :)
>
> > 一个问题的各种设计都会有某方面的好坏(可能是扩展性和易于实现性或者其他方面的指标),
> > 而好的设计就是能在设计之初就看到这些不同点,从而找到最佳的平衡点;(可能是从扩展性和易于实现或者性能的方面的一个平衡)
>
> > 如果一味的寻求所谓的最好的设计(其实我认为是不可能存在的),那只能说是过度设计了,忘记了程序设计的根本目标!
>
> > On 12月11日, 下午1时32分, Jeff Chen <sheismyl...@gmail.com> wrote:
> > > 我经常会想出很多变态的情况,来测试自己的solution.
>
> > > 想得越多,越觉得不够,生怕什么特殊情况没有考虑到 :(
>
> > > 2009/12/11 jun lin <linjunhal...@gmail.com>
>
> > > > dear all forks:
> > > > 我有种偏执,在程序开发的时候,总会想办法把所有事情抽象化,
> > > > 本来界面编程拖拉控件就可以的,我偏要自己先整理出界面上需要完成的功能,
> > > > 然后用个函数自动生成界面,或者直接手写代码。
> > > > 本来一个功能可以放在一个文件里面的,我却会根据功能,UI,数据库操作,常用的方法给分离成许许多多的文件,
> > > > 甚至还有一个makefile来执行测试,生成安装文件。
> > > > 本来可以用MFC直接做开发的,我却因为生成的代码太恶心不够模块化,而转而选择不容易把握性能的python+qt。
> > > > 本来我可以直接调用MFC的串口通讯函数的,我却因为偷懒转而使用速度慢的pyserial。
>
> > 本来代码可以开发完毕的,我还要一遍遍地回头修改,不好看的地方要么包到函数里面,要么加上大堆的注释,直到没有什么一眼看上去不对劲或者不能理解的程度。
>
> > > > 大家有什么偏执,一起分享吧。
>
> > > --
> > > My Blog:http://jeffchen.cn- 隐藏被引用文字 -
>
> - 显示引用的文字 -
我的偏执似乎和流行的正相反:我就见不得没用的code留在项目里。要
是什么函数或类已经不需要了我就要求把它们清除出代码,代码里没有
被立即用上的接口也最好去掉。为这毛病在公司内外还得罪了不少人,
可就是改不掉。
2009/12/11 ZhiGang Qi <zhiga...@gmail.com>:
--
《采莲》·江南
为卿采莲兮涉水,为卿夺旗兮长战。为卿遥望兮辞宫阙,为卿白发兮缓缓歌。
另抄自蒜头的评论:http://www.douban.com/review/1573456/:
且祭一束紫琳秋,为一段落花流水的传说
且饮一杯青花酒,为一场几多擦肩的错过
且焚一卷旖旎念,为一腔抛付虚无的惜怜
且歌一曲罢箜篌,为一刻良辰春宵的寂寞
我晕,我和你正好相反。在我所写的python代码中,我都要在操作符前后加上空格,看上去更清晰。只不过如果别人的代码不是我也未必会改,没你这么“厉害”。
--
I like python!
UliPad <<The Python Editor>>: http://code.google.com/p/ulipad/
UliWeb <<simple web framework>>: http://uliwebproject.appspot.com
My Blog: http://hi.baidu.com/limodou
干净有干净的好处,但是留下痕迹也有助于别人理解代码变化的过程。各有利弊。只要不是“过尤不及”就好。
On 12月11日, 下午1时56分, Nan Hu <hunan1...@gmail.com> wrote:
> 我对程序当中的空格非常非常的偏执......
> 比如 a = 1,我就浑身不舒服,非要改成a=1.
> 每次用别人的代码,都要花几个小时把空格去掉.>_<
>
> 2009/12/11 sagasw <sag...@gmail.com>
>
> > 参考TBBT的主角,这是一种强迫症的表现。
>
> > ------------------------------------
> > C++, Lua, living in Dalian
> >http://sunxiunan.com/
> >http://twitter.com/sagasw
> > ------------------------------------
>
> > 2009/12/11 jun lin <linjunhal...@gmail.com>
我现在的看法是记录痕迹的任务我们早就已经交给版本管理工具了,为什么
非得要在代码里再留一份?而且如果某个函数因为版本变化而不再使用,那
么就说明其必定在某些地方有问题。要是将来开发人员换个新人,在不了解
历史的情况下看见这个函数就用,搞不好就要出错。所以不如趁早删掉干净。
退一步讲,就算是将来后悔了,从老版本里把函数重新拷贝回来,其实也不
费多少事情。所以也就一直没觉得自己错。
2009/12/11 limodou <lim...@gmail.com>:
--
On Dec 11, 1:32 pm, Jeff Chen <sheismyl...@gmail.com> wrote:
> 我经常会想出很多变态的情况,来测试自己的solution.
>
> 想得越多,越觉得不够,生怕什么特殊情况没有考虑到 :(
>
> 2009/12/11 jun lin <linjunhal...@gmail.com>
On 12月12日, 上午2时51分, Fuzhou Chen <cppof...@gmail.com> wrote:
> 在我们公司写a=1在review的时候会被一群人指摘你为啥不写 a = 1,
> 这也是另一种偏执吧。:)
>
> 我的偏执似乎和流行的正相反:我就见不得没用的code留在项目里。要
> 是什么函数或类已经不需要了我就要求把它们清除出代码,代码里没有
> 被立即用上的接口也最好去掉。为这毛病在公司内外还得罪了不少人,
> 可就是改不掉。
>
> 2009/12/11 ZhiGang Qi <zhigang...@gmail.com>:
>
>
>
>
>
> > 第一,你不用手动的把空格去掉。。。 设置一下你自己的editor,然后reformat一下就可以了。
>
> > 第二, 我很讨厌的一种代码风格就是a=1... in sin.
>
> > a = 1 or a == 1 多好啊。。。。
>
> > 2009/12/10 Nan Hu <hunan1...@gmail.com>
>
> >> 我对程序当中的空格非常非常的偏执......
> >> 比如 a = 1,我就浑身不舒服,非要改成a=1.
> >> 每次用别人的代码,都要花几个小时把空格去掉.>_<
> >> 2009/12/11 sagasw <sag...@gmail.com>
>
> >>> 参考TBBT的主角,这是一种强迫症的表现。
>
> >>> ------------------------------------
> >>> C++, Lua, living in Dalian
> >>>http://sunxiunan.com/
> >>>http://twitter.com/sagasw
> >>> ------------------------------------
>
> >>> 2009/12/11 jun lin <linjunhal...@gmail.com>
On 12月12日, 下午7时27分, jinhu wang <wangjinhu...@gmail.com> wrote:
> 你这个习惯估计是跟大多数人或大多数公司的编程习惯或者规范相背的。
>
> 2009/12/11 Nan Hu <hunan1...@gmail.com>
>
>
>
> > 我对程序当中的空格非常非常的偏执......
> > 比如 a = 1,我就浑身不舒服,非要改成a=1.
> > 每次用别人的代码,都要花几个小时把空格去掉.>_<
>
> > 2009/12/11 sagasw <sag...@gmail.com>
>
> > 参考TBBT的主角,这是一种强迫症的表现。
>
> >> ------------------------------------
> >> C++, Lua, living in Dalian
> >>http://sunxiunan.com/
> >>http://twitter.com/sagasw
> >> ------------------------------------
>
> >> 2009/12/11 jun lin <linjunhal...@gmail.com>
On 12月11日, 下午1时56分, Nan Hu <hunan1...@gmail.com> wrote:
> 我对程序当中的空格非常非常的偏执......
> 比如 a = 1,我就浑身不舒服,非要改成a=1.
> 每次用别人的代码,都要花几个小时把空格去掉.>_<
>
> 2009/12/11 sagasw <sag...@gmail.com>
>
>
>
> > 参考TBBT的主角,这是一种强迫症的表现。
>
> > ------------------------------------
> > C++, Lua, living in Dalian
> >http://sunxiunan.com/
> >http://twitter.com/sagasw
> > ------------------------------------
>
> > 2009/12/11 jun lin <linjunhal...@gmail.com>
2009/12/11 Nan Hu <huna...@gmail.com>:
--
2009/12/15 Zhiming G <gao...@gmail.com>:
--
有人有this癖吗?
就是说只要一个变量有“命名作用域”就一定要把它写完整了。
比如不辞辛苦的一遍又一遍的在membervar前写"this.",
这样的好处是
1.让编译器一看就知道要引用那个变量;
2.方便批量重命名而不会与局部变量冲突;
3.在我这this是彩色高亮的,看起来比较舒服。
缺点是:
1.大大扩展了一个复杂表达式的长度使得整体看起来不舒服;
2.将一段正常代码复制到另一个闭包函数里会引起混乱;
3.好像是有点罗嗦,呵呵。
所有的命名作用域都有一个最大的缺点,可维护性差。
可维护性差主要体现在如果你调整了类所处的包,或者改变了使用的类,用了另一个包中同样功能的类,结果导致你处处改动。而实际上,如果不用作用域复合指定类的话,这个改动本不该引起这么多麻烦的。
另一个缺点就是它有西方语言的倾向:不考虑上下文也是可以理解的。之所以这个被认为是一个缺点,是因为我们习惯于在一定的Context下表述问题,而不是时时刻刻的处在无场景中表述问题,那样会导致理解上的复杂。