论坛首页 综合技术论坛

心理学,再谈好代码

浏览 18698 次
精华帖 (7) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (3)
作者 正文
   发表时间:2010-04-01  
hotjava 写道
冲动后代码:
Java代码
def imgName=XXX?"meigui":"" 

---------
这样的代码是垃圾。

讲出道理来,为什么是垃圾?这里不是让你乱说话的。
0 请登录后投票
   发表时间:2010-04-01  
抛出异常的爱 写道
cleanerje 写道
推荐LZ看《code complete》第二版(代码大全)。
详细看完以后,你对好代码的见解会有所改变!

CC里没有一句说怎么样写代码才最好
都是自己掂量着办的语气。

代码大全的作者捣糨糊而已。我不喜欢这本书,看了一点就扔了。里面很多东西已经out了。
0 请登录后投票
   发表时间:2010-04-01  
抛出异常的爱 写道
引用

我最讨厌的代码是这样的:最开始我打开一个文件,在阅读的过程中,我发现一个不清楚的方法,于是我按下ctrl并点击鼠标,于是我跳到另外一个文件;接下来,在阅读另外一个方法里,我再次发现了一个不清楚的方法,于是我再次按下ctrl并点击鼠标,哇哈,新的文件打开了....如此反复,终于当我打开最后一个文件时,我发现IDE的文件条里已经密密麻麻的排满了好几排文件,于是,我移动鼠标,右键,弹出一个关闭菜单,我选择了close others,瞬间,哦米拖佛,整个世界清静了,但是,等等,我最初是打算干嘛来着?

所以,请把所有相关联的代码都集中在一个地方,求您了。哦,对了,能不用接口请不要用接口,总会碰到这样的情况,打开好几排的文件,接口文件占了一半,我靠,少几个接口会死啊。对了,这可能是您的一致性心理在作怪,对不起,对不起。



以前看有大师说要分离 要接口


而且看spring代码一个方法也会跟踪出好几排的文件~


把接口放一起。
在这个目录下建个包放接口的所有的实现。。。。
配合起来也好。弄

一般我看到的都是建立一个impl的包,所有实现都放在里面。
0 请登录后投票
   发表时间:2010-04-01  
sg552 写道
引用

我最讨厌的代码是这样的:最开始我打开一个文件,在阅读的过程中,我发现一个不清楚的方法,于是我按下ctrl并点击鼠标,于是我跳到另外一个文件;接下来,在阅读另外一个方法里,我再次发现了一个不清楚的方法,于是我再次按下ctrl并点击鼠标,哇哈,新的文件打开了....如此反复,终于当我打开最后一个文件时,我发现IDE的文件条里已经密密麻麻的排满了好几排文件,于是,我移动鼠标,右键,弹出一个关闭菜单,我选择了close others,瞬间,哦米拖佛,整个世界清静了,但是,等等,我最初是打算干嘛来着?

所以,请把所有相关联的代码都集中在一个地方,求您了。哦,对了,能不用接口请不要用接口,总会碰到这样的情况,打开好几排的文件,接口文件占了一半,我靠,少几个接口会死啊。对了,这可能是您的一致性心理在作怪,对不起,对不起。

以前看有大师说要分离 要接口而且看spring代码一个方法也会跟踪出好几排的文件~


我觉得这个问题的根源是 用户对IDE 不熟悉。
在Eclipse中, F3 查看, F3查看, F3查看, alt + left 后退, alt + left 后退, alt + left 后退。不用碰鼠标,不过几秒,如果你还想不起来干啥, 运行一下单元测试,看看哪里FAILED了,就干哪里。

Pragmatic Programmer的作者,建议大家以每天学会一点目前所用IDE的新功能为荣。

自己当初对于Eclipse 的快捷键的基础,让我现在用Aptana 得心应手。。。 *_*  你的付出绝对不会让你失望的。

大师说的没错。withouth EJB 提倡写小方法。refactoring 则是说事不过三,当你第三次见到某段代码应该 extract method, 那么就果断 extract 之。 当今几乎有名的开源程序,几乎都是小方法组成的。


不赞成缩写。如果这个文章确实被徐昊点评过,那么我很好奇,他对你缩写的观点如何看,以及 小方法所处的位置。作为一个TW控,我认为他们的项目中是禁止用缩写的。

对于LZ的其他观点甚是赞同 :-)

我以前也是TW控,不过现在是TW黑
0 请登录后投票
   发表时间:2010-04-01   最后修改:2010-04-01
黑暗浪子 写道
抛出异常的爱 写道
cleanerje 写道
推荐LZ看《code complete》第二版(代码大全)。
详细看完以后,你对好代码的见解会有所改变!

CC里没有一句说怎么样写代码才最好
都是自己掂量着办的语气。

代码大全的作者捣糨糊而已。我不喜欢这本书,看了一点就扔了。里面很多东西已经out了。

可以开个贴子讨论一下哪些已经过时。
我最喜欢聊这些东西了

当然CC糨糊goto那章的例子太特别了。。。。
几乎不可能见的到代码需要这么写。
但的确是用了goto会更好看一些。

其它的地方都是给你两方案让你自己想怎么写好看的。
0 请登录后投票
   发表时间:2010-04-02  
楼主认为should_XXX_when_XXX(),这个以should开头的方法名更高明?难道楼主不知道一般好点的公司都不提倡用三元表达式?
0 请登录后投票
   发表时间:2010-04-02  
andyu2008 写道
楼主认为should_XXX_when_XXX(),这个以should开头的方法名更高明?难道楼主不知道一般好点的公司都不提倡用三元表达式?


楼主的想法应该是这样:

在改进者眼里没有最佳。
只有最差。。。。。
把最差改的好看一些。
三不三元没关系。
好一点是一点的态度来重构代码。。。。。
0 请登录后投票
   发表时间:2010-04-02  
抛出异常的爱 写道
andyu2008 写道
楼主认为should_XXX_when_XXX(),这个以should开头的方法名更高明?难道楼主不知道一般好点的公司都不提倡用三元表达式?


楼主的想法应该是这样:

在改进者眼里没有最佳。
只有最差。。。。。
把最差改的好看一些。
三不三元没关系。
好一点是一点的态度来重构代码。。。。。

有谁能告诉我好一点公司不用三元表达式的原因?
0 请登录后投票
   发表时间:2010-04-02  
黑暗浪子 写道
hotjava 写道
冲动后代码:
Java代码
def imgName=XXX?"meigui":"" 

---------
这样的代码是垃圾。

讲出道理来,为什么是垃圾?这里不是让你乱说话的。

因为看这行总要想true和false分别对应哪个来着,不直观,打断思路,每次看到这个表达式我都会改成if else表达式。
另外,我也不用switch表达式,因为记不住switch表达式语法和switch表达式潜规则。
我只用if, else, if else,世界从此就清净了。
0 请登录后投票
   发表时间:2010-04-02   最后修改:2010-04-03
黑暗浪子 写道
抛出异常的爱 写道
andyu2008 写道
楼主认为should_XXX_when_XXX(),这个以should开头的方法名更高明?难道楼主不知道一般好点的公司都不提倡用三元表达式?


楼主的想法应该是这样:

在改进者眼里没有最佳。
只有最差。。。。。
把最差改的好看一些。
三不三元没关系。
好一点是一点的态度来重构代码。。。。。

有谁能告诉我好一点公司不用三元表达式的原因?

我们公司。。。。

曾见有个大哥写过:

public Object kk(){
		return zz()?tt()?aa():bb():kk();
	}
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics