锁定老帖子 主题:目前项目的暴强代码风格 + 把它重构了!
精华帖 (0) :: 良好帖 (31) :: 灌水帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-17
最后修改:2008-12-17
wq163 写道 gigix 写道 引用 然后用看程序。大概耗时30分钟。加了注释,
我只想说,你这步就做得很差劲 像这么简单的程序,打开Eclipse或者IDEA就直接开始搞,一边重构一边就能看懂了 重构首先是一个形式化的过程:如果必须把代码看懂了才能重构的话,那么你就会让自己陷入一个悖论,因为最需要重构的代码你是看不懂的 你接着做吧…我只是想告诉你,有时候其实是五十步笑百步而已 你确定你懂形式化吗,形式化是要有严格数学推导的,如果重构是形式化的、不需要理解代码的,那么重构就不需要人来做了,完全可以写个工具去自动完成所有的重构 自己去看Opdyke的论文,或者至少看完Martin Fowler那本书再来说话 你以为Eclipse和IDEA那些重构工具是怎么做出来的? http://www.laputan.org/pub/papers/opdyke-thesis.pdf,第4章 你看不见火星不代表火星不存在好伐? |
|
返回顶楼 | |
发表时间:2008-12-17
我同意gigix的观念,你都看懂代码了,那不叫重构,最多算个重新组织代码
|
|
返回顶楼 | |
发表时间:2008-12-17
深秋小雨 写道 doProcessIfParentOfTaskIsTaskNode
要是我来写,这个直接写成processTask,方法里面具体是怎么判断的,打开方法看代码就好了。我觉得没必要把一个方法里判断的条件都用方法名描述出来。 那个isShouldDoProcess改成shouldBeProcessed会不会好些? 错。 还打开文件看代码。 你应该方法注释上写清楚。。。 这个方法是干啥,然后给个调用的示例。。。 |
|
返回顶楼 | |
发表时间:2008-12-17
风花雪月饼 写道 还打开文件看代码。
你应该方法注释上写清楚。。。 这个方法是干啥,然后给个调用的示例。。。 写测试 |
|
返回顶楼 | |
发表时间:2008-12-17
gigix 写道 风花雪月饼 写道 还打开文件看代码。
你应该方法注释上写清楚。。。 这个方法是干啥,然后给个调用的示例。。。 写测试 不是所有人都去tdd的 |
|
返回顶楼 | |
发表时间:2008-12-17
最后修改:2008-12-17
jichongchong 写道 gigix 写道 风花雪月饼 写道 还打开文件看代码。
你应该方法注释上写清楚。。。 这个方法是干啥,然后给个调用的示例。。。 写测试 不是所有人都去tdd的 (耸肩) 不是所有人都坚持锻炼的 所以也不是所有人都身体健康的 医生没有义务确保所有人都健康 |
|
返回顶楼 | |
发表时间:2008-12-17
最后修改:2008-12-17
gigix 写道 jichongchong 写道 gigix 写道 风花雪月饼 写道 还打开文件看代码。
你应该方法注释上写清楚。。。 这个方法是干啥,然后给个调用的示例。。。 写测试 不是所有人都去tdd的 (耸肩) 不是所有人都坚持锻炼的 所以也不是所有人都身体健康的 医生没有义务确保所有人都健康 (耸肩加摇头)但是tdd我觉得开发成本太大了,难道你是啥东西都是一上来都写个测试用例?只针对复杂的业务逻辑测试足够了好哇? |
|
返回顶楼 | |
发表时间:2008-12-17
gigix 写道 风花雪月饼 写道 还打开文件看代码。
你应该方法注释上写清楚。。。 这个方法是干啥,然后给个调用的示例。。。 写测试 ![]() 注释还是要写明白吧。。。 至少我看JDK里那些注释,每个方法怎么用什么结果都写得很清楚了。 所谓有文档,API,就是可以不去看代码,哪怕测试代码吧。 |
|
返回顶楼 | |
发表时间:2008-12-17
下一站,火星 写道 (耸肩加摇头)但是tdd我觉得开发成本太大了,难道你是啥东西都是一上来都写个测试用例?只针对复杂的业务逻辑测试足够了好哇?
是的 你反正要花时间去想自己要做什么 写测试只是把想的过程落实到程序代码,顺便还收获可执行的验证,没有额外的成本,只有额外的收益,何乐而不为 当然很多人写程序之前根本就不想到底要做什么,那就是另一回事了 |
|
返回顶楼 | |
发表时间:2008-12-17
gigix 写道 下一站,火星 写道 (耸肩加摇头)但是tdd我觉得开发成本太大了,难道你是啥东西都是一上来都写个测试用例?只针对复杂的业务逻辑测试足够了好哇?
是的 你反正要花时间去想自己要做什么 写测试只是把想的过程落实到程序代码,顺便还收获可执行的验证,没有额外的成本,只有额外的收益,何乐而不为 当然很多人写程序之前根本就不想到底要做什么,那就是另一回事了 不知道你有没有考虑过测试用例的正确性这个问题,写测试用例肯定不是不用动脑子的,我见过很多的情况是测试用例根本没有覆盖到需求,所以如果这要写好这个测试用例还是需要花一定的成本的。 所以提到tdd我就脸红 ![]() |
|
返回顶楼 | |