锁定老帖子 主题:老生常谈之如何写好的代码
精华帖 (3) :: 良好帖 (15) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-07
变量命名的问题从一个侧面说明了整个系统的概念不统一一致。
|
|
返回顶楼 | |
发表时间:2010-11-07
嗯. 有同感~
|
|
返回顶楼 | |
发表时间:2010-11-07
cs_man 写道 tuti 写道 paranoid945 写道 很多情况是很搞笑的,比如有好些人特意不写注释,为的就是让这块代码只有自己懂,然后别人搞不定只能找他。 太高估他们的记忆了,到时候其实他们自己也看不懂。 自己的烂摊子基本都还要自己来收拾,只是这种事情他本人也不好意思向别人抱怨什么。 “免死金牌”这类情况即使存在,也是很少见的。 更多的情况是,他们其实压根不知道,程序应该写成什么样。 高手和入门者的主要区别不在了解语法的多少,而是在对于惯用法“idioms”,知道得多少。 要写好代码,态度只是一小部分,大多数是水平和能力的问题。 楼上 写道 我以前有个同事,然后有个留言本模块的字段,叫‘标题’,一般人就起个名字叫'title'对吧,他不知道,然后查字典,起名叫’superscription‘,其他组员有时候也说这些玩意儿究竟是啥意思。 这就是个惯用法的例子。惯用法不仅是命名,更多是在代码逻辑中,虽然也能达到功能,但一看就不太讲究。 举个例子: 很多人喜欢写 if (userList.size()==0){ ... } 惯用法应该写成 if (userList.isEmpty()){ ... } 这个例子的问题我一直在犯,刚注意到。。。 感谢,我也才注意到,以后还要改进啊! |
|
返回顶楼 | |
发表时间:2010-11-07
有的时候任务压的实在太紧了,很多事情都没有时间考虑到
当然这种情况只是对我们这种新手而言是这样的 |
|
返回顶楼 | |
发表时间:2010-11-07
A a=new A();
if(condition){ a=getAFrom(); }else{ a=getAFrom(); } 虽然说new A();是脱了裤子放屁,但看你们怎么定义规范的,比如这段代码在biz层的一个方法中,并且return a对象,有可能在执行getAForm的时候抛出exception了,这个时候可能没有给a实例赋值,平时写代码一个比较烦琐的事情就是判断null,这个时候在ui层的规范如果是尽量去除null判断,统一规定biz返回给ui层是非null 只要他们符合公司定义的规范就行了,但一个人写一种规范真是让人看得吐血 |
|
返回顶楼 | |
发表时间:2010-11-08
其实所有的烂代码都只有一个原因:
外行管理内行。 |
|
返回顶楼 | |
发表时间:2010-11-08
wzju64676266 写道 A a=new A();
if(condition){ a=getAFrom(); }else{ a=getAFrom(); } 虽然说new A();是脱了裤子放屁,但看你们怎么定义规范的,比如这段代码在biz层的一个方法中,并且return a对象,有可能在执行getAForm的时候抛出exception了,这个时候可能没有给a实例赋值,平时写代码一个比较烦琐的事情就是判断null,这个时候在ui层的规范如果是尽量去除null判断,统一规定biz返回给ui层是非null 只要他们符合公司定义的规范就行了,但一个人写一种规范真是让人看得吐血 异常如果被捕获,则返回null是一个接口行为。 如果没有被捕获,则向上抛。 不论那种情况,这个new都是没有什么用的。 |
|
返回顶楼 | |
发表时间:2010-11-08
前人拉屎,后人擦屁。。在一个烂尾项目中深刻体会到了
|
|
返回顶楼 | |
发表时间:2010-11-08
这个可以算是中国软件业存在的一个很大的问题吧!
在中国,做行业软件的技术员由于行业要求大多数都转成做业务的了,真正有恒心做技术,把技术做好做精的,不多了! |
|
返回顶楼 | |
发表时间:2010-11-08
tuti 写道 举个例子: 很多人喜欢写 if (userList.size()==0){ ... } 惯用法应该写成 if (userList.isEmpty()){ ... } 还要考虑为空的情况,严谨一点写成 if ( userList==null || userList.isEmpty() ) { } |
|
返回顶楼 | |