- 浏览: 364445 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
guji528:
很好,清晰明了!
(8)python教程:几行代码搞定python 设计模式 -
poson:
为什么踩啊?
三言两语谈团队合作 -
andyhelberg:
你好,想请教一下关于应用敏捷开发在软件维护过程的经验。欢迎与我 ...
对scrum开发的感受 -
poson:
chenwq 写道可以提供behavior targeting ...
最近公司培训的算法 -
chenwq:
可以提供behavior targeting 相关材料不?先谢 ...
最近公司培训的算法
我们的代码,经常都有代码review。但是代码review之后,大家并没有大量的重构代码。主要原因是重构代码需要花太多的时间,而且还有再次测试,对于很少的项目时间来说,重构代码是很不划算的。
不过不重构代码,大家的代码质量又很难提高。不知道大家怎么办?
然后等客户说“第一期做得不错呀,你们接着做第二期吧”的时候抓栏杆撕床单
如果不用TTD一般的需求是怎么记录的?
用buglist这种方式有点冗余.
需求说明书又缺很多需求变更.
实在是不知道作二期的那群人
是怎么把一期的需求
从代码中扒出来的?
上个项目最失败的几点都是由于需求扒出来的时候走了样
按你说法 需求难道应该用tdd来保存?
然后等客户说“第一期做得不错呀,你们接着做第二期吧”的时候抓栏杆撕床单
如果不用TTD一般的需求是怎么记录的?
用buglist这种方式有点冗余.
需求说明书又缺很多需求变更.
实在是不知道作二期的那群人
是怎么把一期的需求
从代码中扒出来的?
上个项目最失败的几点都是由于需求扒出来的时候走了样
然后等客户说“第一期做得不错呀,你们接着做第二期吧”的时候抓栏杆撕床单
逻辑封装为一组 业务封装为一组
即使在小的业务模块里,仍然可以做此划分。
重构的前提,建立在一开始就有充分的最大化解耦的思想。
重构才体现出 高复用的效果。
否则只是在做无谓的 代码拆分工作而已。
严重同意你的说法
如果没有系统的培训,开发人员根本没有重构的意识。即使你给他指出重构的方向,他可能还是不以为然。
说白了,这还不是重构的问题,这是基本功的问题。
根本不知道程序应该写成什么样才算完。
严重同意你的说法
如果没有系统的培训,开发人员根本没有重构的意识。即使你给他指出重构的方向,他可能还是不以为然。
以至于这件事之后..每当我们要改某个java文件...就会对那哥们调侃大喊:某某java文件我正在改...可能超过5分钟....你不要重构删掉啊~~~~~~~~~~~~~哈哈哈.....
其实不是他的错,是你们svn更新和提交的频率太低了。
以至于这件事之后..每当我们要改某个java文件...就会对那哥们调侃大喊:某某java文件我正在改...可能超过5分钟....你不要重构删掉啊~~~~~~~~~~~~~哈哈哈.....
很有道理,但是我的重构的频率要低很多,可能半天或者两天才回去重构。
你们都是做了重构的培训么?还是自学?
整个公司开发人员集体学习了<重构—改善既有代码的设计>一书...上面有很多重构的方法和判断bad smell的方法....虽然很多重构的方法整好是相反的两个方向, 虽然我肯定记不得具体有多少种方法了...但是寻找bad smell的嗅觉....我留下了....每当闻到bad smell....我就有重构的欲望~~~~~~~~~~~ ...因为重构完之后....看着代码很舒服.....
恩。
看来是我概念没有搞清楚啊。
不是外包,是互联网公司:)
我觉得你说的很对。
我们把review更多的当成是找问题和提高编码设计水平的一种手段。
作为“提高编码设计水平的一种手段”来说review是可行的。但是最好像老抛说的那样尽量以一天作为一个周期,否则积重难返,周期太长的话就算review出问题,改起来也麻烦,而且风险也更大。
但是用来找问题,有点扯淡了。我刚毕业时干过一个对日的项目是这么干的,一行行代码进行说明,让日方评价会不会有bug(sun)。找问题还是通过完善你们的测试代码来实现会更好。
不过不重构代码,大家的代码质量又很难提高。不知道大家怎么办?
评论
36 楼
seen
2009-07-01
抛出异常的爱 写道
gigix 写道
neptune 写道
注意:如果是大项目或长时间的项目,重构好。如果是小项目或一次的项目,不要冲动,重构是需要成本的。
然后等客户说“第一期做得不错呀,你们接着做第二期吧”的时候抓栏杆撕床单
如果不用TTD一般的需求是怎么记录的?
用buglist这种方式有点冗余.
需求说明书又缺很多需求变更.
实在是不知道作二期的那群人
是怎么把一期的需求
从代码中扒出来的?
上个项目最失败的几点都是由于需求扒出来的时候走了样
按你说法 需求难道应该用tdd来保存?
35 楼
zhuxinyu
2009-07-01
重构。。。。。。 重新构思。
目的:改善原有的,不合理的,影响性能的问题。
目的:改善原有的,不合理的,影响性能的问题。
34 楼
抛出异常的爱
2009-07-01
gigix 写道
neptune 写道
注意:如果是大项目或长时间的项目,重构好。如果是小项目或一次的项目,不要冲动,重构是需要成本的。
然后等客户说“第一期做得不错呀,你们接着做第二期吧”的时候抓栏杆撕床单
如果不用TTD一般的需求是怎么记录的?
用buglist这种方式有点冗余.
需求说明书又缺很多需求变更.
实在是不知道作二期的那群人
是怎么把一期的需求
从代码中扒出来的?
上个项目最失败的几点都是由于需求扒出来的时候走了样
33 楼
gigix
2009-07-01
neptune 写道
注意:如果是大项目或长时间的项目,重构好。如果是小项目或一次的项目,不要冲动,重构是需要成本的。
然后等客户说“第一期做得不错呀,你们接着做第二期吧”的时候抓栏杆撕床单
32 楼
neptune
2009-07-01
一段时间后(有空),回头再看、再想原来的代码,一定会有不好地方,重构是必须的。如果不重构,一直推着做,大家就会养成“只实现功能”的习惯,常吃以往代码可想而知。
重构好处:
1.使用新的代码模式,新的框架,新的类库。
2.取老项目的优点,去其不好的地方。
3.新的思路,新的想法,会部用上。
4.一些看不上原代码质量的(因此而没有积极性的员工,或因此而要离职的员工),会留下(重要呀),而且会增加这些程序狂人的“激情”。
注意:如果是大项目或长时间的项目,重构好。如果是小项目或一次的项目,不要冲动,重构是需要成本的。
重构好处:
1.使用新的代码模式,新的框架,新的类库。
2.取老项目的优点,去其不好的地方。
3.新的思路,新的想法,会部用上。
4.一些看不上原代码质量的(因此而没有积极性的员工,或因此而要离职的员工),会留下(重要呀),而且会增加这些程序狂人的“激情”。
注意:如果是大项目或长时间的项目,重构好。如果是小项目或一次的项目,不要冲动,重构是需要成本的。
31 楼
墓里活人
2009-06-30
逻辑封装为一组 业务封装为一组
即使在小的业务模块里,仍然可以做此划分。
重构的前提,建立在一开始就有充分的最大化解耦的思想。
重构才体现出 高复用的效果。
否则只是在做无谓的 代码拆分工作而已。
30 楼
laodizhuq
2009-06-30
我一般边写边重构,因为一开始为了让思路快速展开,很多时候不能够很好的考虑代码结构和执行效率等问题,等写的60%成型后,就会逐渐的发现前面写的代码的不足之处,然后就开始一边写新代码,一边重构。
如果到了最后的代码review了才发现有很多问题,需要重构,那这个开发过程就比较失败了。因为这样的重构代价很大,但是不重构往往问题更大。
如果到了最后的代码review了才发现有很多问题,需要重构,那这个开发过程就比较失败了。因为这样的重构代价很大,但是不重构往往问题更大。
29 楼
tuti
2009-06-30
poson 写道
advantech 写道
我觉得LZ这种重构不可能做的起来,周期太长了,问题积攒的太多。
抛开TDD不说,在普通项目里重构应该说是一个比较高级的技巧,需要程序员有良好的素养和一定的经验。如果一个新人不经过系统的培训,他根本就不知道什么地方应该重构,怎么重构。
抛开TDD不说,在普通项目里重构应该说是一个比较高级的技巧,需要程序员有良好的素养和一定的经验。如果一个新人不经过系统的培训,他根本就不知道什么地方应该重构,怎么重构。
严重同意你的说法
如果没有系统的培训,开发人员根本没有重构的意识。即使你给他指出重构的方向,他可能还是不以为然。
说白了,这还不是重构的问题,这是基本功的问题。
根本不知道程序应该写成什么样才算完。
28 楼
poson
2009-06-30
advantech 写道
我觉得LZ这种重构不可能做的起来,周期太长了,问题积攒的太多。
抛开TDD不说,在普通项目里重构应该说是一个比较高级的技巧,需要程序员有良好的素养和一定的经验。如果一个新人不经过系统的培训,他根本就不知道什么地方应该重构,怎么重构。
抛开TDD不说,在普通项目里重构应该说是一个比较高级的技巧,需要程序员有良好的素养和一定的经验。如果一个新人不经过系统的培训,他根本就不知道什么地方应该重构,怎么重构。
严重同意你的说法
如果没有系统的培训,开发人员根本没有重构的意识。即使你给他指出重构的方向,他可能还是不以为然。
27 楼
daquan198163
2009-06-30
by5739 写道
by5739 写道
不要把所有该重构的地方积攒起来再一次性重构...这样积重难返..你都不想重构了...每当闻到bad smell的时候就应该重构了....当然需要完整的测试用例....
我们这里有个哥们最快每5分钟重构一次....有一次...这哥么和另一个哥们A合作.....A5分钟之前还在改某java文件..好不容易改好...提交svn....结果报告说版本过期..再一查...这个文件已经没有了...大喊救~~命....那哥们说...我1分钟之前重构删掉了..不要作废了.....哈啊哈哈....后来很长一段时间都成了我们的笑料..........
我们这里有个哥们最快每5分钟重构一次....有一次...这哥么和另一个哥们A合作.....A5分钟之前还在改某java文件..好不容易改好...提交svn....结果报告说版本过期..再一查...这个文件已经没有了...大喊救~~命....那哥们说...我1分钟之前重构删掉了..不要作废了.....哈啊哈哈....后来很长一段时间都成了我们的笑料..........
以至于这件事之后..每当我们要改某个java文件...就会对那哥们调侃大喊:某某java文件我正在改...可能超过5分钟....你不要重构删掉啊~~~~~~~~~~~~~哈哈哈.....
其实不是他的错,是你们svn更新和提交的频率太低了。
26 楼
advantech
2009-06-30
我觉得LZ这种重构不可能做的起来,周期太长了,问题积攒的太多。
抛开TDD不说,在普通项目里重构应该说是一个比较高级的技巧,需要程序员有良好的素养和一定的经验。如果一个新人不经过系统的培训,他根本就不知道什么地方应该重构,怎么重构。
抛开TDD不说,在普通项目里重构应该说是一个比较高级的技巧,需要程序员有良好的素养和一定的经验。如果一个新人不经过系统的培训,他根本就不知道什么地方应该重构,怎么重构。
25 楼
by5739
2009-06-30
by5739 写道
不要把所有该重构的地方积攒起来再一次性重构...这样积重难返..你都不想重构了...每当闻到bad smell的时候就应该重构了....当然需要完整的测试用例....
我们这里有个哥们最快每5分钟重构一次....有一次...这哥么和另一个哥们A合作.....A5分钟之前还在改某java文件..好不容易改好...提交svn....结果报告说版本过期..再一查...这个文件已经没有了...大喊救~~命....那哥们说...我1分钟之前重构删掉了..不要作废了.....哈啊哈哈....后来很长一段时间都成了我们的笑料..........
我们这里有个哥们最快每5分钟重构一次....有一次...这哥么和另一个哥们A合作.....A5分钟之前还在改某java文件..好不容易改好...提交svn....结果报告说版本过期..再一查...这个文件已经没有了...大喊救~~命....那哥们说...我1分钟之前重构删掉了..不要作废了.....哈啊哈哈....后来很长一段时间都成了我们的笑料..........
以至于这件事之后..每当我们要改某个java文件...就会对那哥们调侃大喊:某某java文件我正在改...可能超过5分钟....你不要重构删掉啊~~~~~~~~~~~~~哈哈哈.....
24 楼
by5739
2009-06-30
poson 写道
by5739 写道
不要把所有该重构的地方积攒起来再一次性重构...这样积重难返..你都不想重构了...每当闻到bad smell的时候就应该重构了....当然需要完整的测试用例....
我们这里有个哥们最快每5分钟重构一次....有一次...这哥么和另一个哥们A合作.....A5分钟之前还在改某java文件..好不容易改好...提交svn....结果报告说版本过期..再一查...这个文件已经没有了...大喊救~~命....那哥们说...我1分钟之前重构删掉了..不要作废了.....哈啊哈哈....后来很长一段时间都成了我们的笑料..........
我们这里有个哥们最快每5分钟重构一次....有一次...这哥么和另一个哥们A合作.....A5分钟之前还在改某java文件..好不容易改好...提交svn....结果报告说版本过期..再一查...这个文件已经没有了...大喊救~~命....那哥们说...我1分钟之前重构删掉了..不要作废了.....哈啊哈哈....后来很长一段时间都成了我们的笑料..........
很有道理,但是我的重构的频率要低很多,可能半天或者两天才回去重构。
你们都是做了重构的培训么?还是自学?
整个公司开发人员集体学习了<重构—改善既有代码的设计>一书...上面有很多重构的方法和判断bad smell的方法....虽然很多重构的方法整好是相反的两个方向, 虽然我肯定记不得具体有多少种方法了...但是寻找bad smell的嗅觉....我留下了....每当闻到bad smell....我就有重构的欲望~~~~~~~~~~~ ...因为重构完之后....看着代码很舒服.....
23 楼
whaosoft
2009-06-29
经常事儿 哎 我才知道美国人和日本人做事的态度太不一样了
22 楼
gecheng
2009-06-29
有注释的地方就应该重构了,我们的目标:没有注释!
21 楼
daquan198163
2009-06-29
TDD是不是以开发效率换代码质量(原标题:单元测试/TDD的成本和收益)
这里曾经讨论过一阵
这里曾经讨论过一阵
20 楼
qiudawei115
2009-06-29
重构的问题好像大家总是在说,但是。。。
19 楼
poson
2009-06-29
RCFans 写道
code review更多的是在编码结束之后,发布测试版之前检查代码书写是否规范,有无潜在的漏洞和错误,通常有一个review的标准(QA颁发),然后进行。
重构更多的是改善程序的整体结构的有机性,和code review不是一回事。
重构更多的是改善程序的整体结构的有机性,和code review不是一回事。
恩。
看来是我概念没有搞清楚啊。
18 楼
RCFans
2009-06-29
code review更多的是在编码结束之后,发布测试版之前检查代码书写是否规范,有无潜在的漏洞和错误,通常有一个review的标准(QA颁发),然后进行。
重构更多的是改善程序的整体结构的有机性,和code review不是一回事。
重构更多的是改善程序的整体结构的有机性,和code review不是一回事。
17 楼
香克斯
2009-06-29
poson 写道
香克斯 写道
问一句,没别的意思 “对日外包?”
至少你们的这种做法像。1段时间的代码review只能是作为一种评估的手段,不应该用这个作为重构的前提。重构应该是随时进行的
至少你们的这种做法像。1段时间的代码review只能是作为一种评估的手段,不应该用这个作为重构的前提。重构应该是随时进行的
不是外包,是互联网公司:)
我觉得你说的很对。
我们把review更多的当成是找问题和提高编码设计水平的一种手段。
作为“提高编码设计水平的一种手段”来说review是可行的。但是最好像老抛说的那样尽量以一天作为一个周期,否则积重难返,周期太长的话就算review出问题,改起来也麻烦,而且风险也更大。
但是用来找问题,有点扯淡了。我刚毕业时干过一个对日的项目是这么干的,一行行代码进行说明,让日方评价会不会有bug(sun)。找问题还是通过完善你们的测试代码来实现会更好。
发表评论
-
论文阅读总结
2012-02-14 17:29 1040以前阅读论文的套路:搜索、下载、阅读,如果好就打印出来, ... -
程序路径以及配置文件的习惯问题
2012-02-03 11:20 974每次用别人代码的时候,都希望从svn中check out出来就 ... -
常用书籍
2012-01-11 15:27 935Hadoop权威指南(第2版) [平装] http://ww ... -
批评很简单,解决问题很复杂
2011-09-13 10:22 1090在工作中发现问题很简单,你只要仔细看,你就可以发现大量的问题。 ... -
一个团队最首要的是士气
2011-07-06 09:15 782士气遭到打击,短期内很难恢复! 如果几个人士气低迷,很容易影响 ... -
身为程序员犯过的错误
2011-04-11 13:22 857以前犯过的错误时,从来不和主管沟通。 对项目的看法、思考,只 ... -
采取行动,解决问题
2010-08-01 14:42 954陶行知很久以前就说过”知易行难“,就是说我们很容易获取 ... -
数据推送总结
2010-07-25 09:50 1143当我们有一个应用,部署在多个服务器上。这些服务器每天都要更新数 ... -
提高工作效率的15个小技巧
2010-07-24 16:49 10831、多用电话沟通。用邮件可以讨论结果,用聊天工具很多时候只 ... -
如何提高执行力
2010-07-24 12:36 0当接受一个任务的时候,就需要千方百计的想办法完成任务。 -
将公共代码和业务平台分开
2010-07-20 12:36 995《走出软件作坊》一书的作者阿朱说,要把公共代码和业务平台 ... -
实在是太方便了----建议使用Chrome的AutoPager 插件
2010-07-18 23:42 1730AutoPager 插件可以对javaeye论坛帖子自动翻页, ... -
如何改进算法以及上线策略
2010-07-18 22:39 1001在互联网行业,如果你有很多用户,当你稍微修改一下算法, ... -
实习生待遇怎么才合适
2010-07-18 19:27 1504很多人都说实习生的待遇如何如何的低,觉得实习生吃了很大 ... -
SCRUM Master如何处理插入需求
2010-07-15 20:55 966我们处在一个高速发展的时代。在中国做什么都要快,快才能 ... -
工作中无小事
2010-06-20 18:00 934工作中无小事。很多时候,在工作中无意间做错事情就会砸了自 ... -
用积极的状态工作
2010-04-17 12:43 873很多时候我觉得工作很累,觉得付出少于回报,觉得公司这样那 ... -
我们需要什么样的实习生?---面试感想
2010-04-13 08:45 2639以下针对数据挖掘的实习生,最近对两三个实习生面试之后的感想: ... -
为什么我不会写作文?
2010-01-12 22:14 2259小学的时候,写作 ... -
快乐工作
2010-01-03 17:34 868...
相关推荐
【编码规范】在IT项目开发中,编码规范扮演着至关重要的角色。...同时,规范的使用也有助于代码审查,自动化工具的使用,以及后期的重构工作。因此,对于团队开发项目,制定并执行编码规范是不可或缺的。
Visual Assist(简称VA)是一款广泛应用于Visual Studio集成开发环境中的增强插件,它极大地提升了代码编写、导航和重构的效率。在标题和描述中提到的"va可以使用,大家请放心使用,谢谢你们,Visual Assist 10.9 -...
万分感谢每一位为本项目做出贡献的人员,后来者因你们的努力而站得更高,走得更远,也希望后来者能将这种分享、奉献、开源的伟大精神一代一代传承下去。 感谢每一位贡献者: 目录 嵌入式技术篇 学习路线 萌新入门 ...
9. **最佳实践**:在IT领域,有许多最佳实践,如单元测试、代码重构和设计模式等,这些都可能是文档的重点。 10. **资源管理**:包括如何管理数据库、服务器配置、云服务的使用,以及如何优化资源利用率。 尽管...
这表明你们重视代码的质量和可测试性,遵循“红色-绿色-重构”的TDD循环,即先写失败的测试(红色),然后编写使测试通过的最小代码(绿色),最后重构代码以提高可读性和维护性。 标签“JavaScript”说明了这个POS...
初版的fish_redux的玩Android是我刚学flutter时写的,代码写的比较混乱,重构代码,也是为了让大家更清晰了解fish_redux结构,也给出TabBar控制器在fish_redux初始化的解决方案,大家可以看看 重构的所有模块,无限...
- 《重构:改善既有代码的设计》:这本书介绍了如何优化现有代码,提高软件质量。 - 《代码整洁之道》:这本书介绍了编写干净、易于维护的代码的原则和实践。 **找书的诀窍** - 在线书店:亚马逊、当当网等提供...
当你解读Silverlight代码和WPF代码的时候,你将会发现这并没有什么重大的不同之处(所以现在出现了Silverlight 和 WPF的兼容性类库,甚至出现了Silverlight 和 WPF的转换程序)。或者我们不妨悲剧的理解这本就是一个...
前后端界面也全面重构,更加简洁,规范和易用。开放全部源代码,并保留所有注释,可以在遵循开源协议的前提下,方便的进行二次开发,甚至可以基于术框架构架一个全新的系统,我们将来会提供详细的API文档。 1.最快捷,最...