`
poson
  • 浏览: 364461 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

你们的项目经常重构代码吗?

阅读更多
我们的代码,经常都有代码review。但是代码review之后,大家并没有大量的重构代码。主要原因是重构代码需要花太多的时间,而且还有再次测试,对于很少的项目时间来说,重构代码是很不划算的。

不过不重构代码,大家的代码质量又很难提高。不知道大家怎么办?
分享到:
评论
16 楼 poson 2009-06-29  
香克斯 写道
问一句,没别的意思 “对日外包?”
至少你们的这种做法像。1段时间的代码review只能是作为一种评估的手段,不应该用这个作为重构的前提。重构应该是随时进行的


不是外包,是互联网公司:)

我觉得你说的很对。
我们把review更多的当成是找问题和提高编码设计水平的一种手段。

15 楼 抛出异常的爱 2009-06-29  
poson 写道
mock1234 写道
不要把重构说成是一个重量级的企业开发文档开发步骤,那种理解是很荒唐的。XP的重构,是指发生在5~10分钟之内的那种操作,只有擅长每一次都高标准地完成看似短促、心血来潮就可以进行的重构才具有最大的威力,这个时候如果你的代码总是可以保持系统回归测试稳定性就可谓巅峰状态之作;而那些费了九牛二虎之力搞一场轰轰烈烈重构运动的笨重行为则反而不太擅长重构,初级水平、质量较低的开发人员就可以做这个事了。



那你就是说:当代码完成之后,再由有经验的人做代码review,之后再重构,这本身就是错的?

十天
间隔时间太长了.....
如果修正成本比当天重构的效果差了很多.

如果是压迫式的(与自发对应)代码review
最好在当天完成.
14 楼 香克斯 2009-06-29  
问一句,没别的意思 “对日外包?”
至少你们的这种做法像。1段时间的代码review只能是作为一种评估的手段,不应该用这个作为重构的前提。重构应该是随时进行的
13 楼 poson 2009-06-29  
by5739 写道
不要把所有该重构的地方积攒起来再一次性重构...这样积重难返..你都不想重构了...每当闻到bad smell的时候就应该重构了....当然需要完整的测试用例....
我们这里有个哥们最快每5分钟重构一次....有一次...这哥么和另一个哥们A合作.....A5分钟之前还在改某java文件..好不容易改好...提交svn....结果报告说版本过期..再一查...这个文件已经没有了...大喊救~~命....那哥们说...我1分钟之前重构删掉了..不要作废了.....哈啊哈哈....后来很长一段时间都成了我们的笑料..........


很有道理,但是我的重构的频率要低很多,可能半天或者两天才回去重构。

你们都是做了重构的培训么?还是自学?
12 楼 poson 2009-06-29  
yiding_he 写道
覆盖率低就表示根本不是 TDD

你说的很对,我们不是TDD
11 楼 pipilu 2009-06-29  
楼上说的那件事儿挺逗,笑死了。我觉得不提倡做删除操作,因为那个文件一删,那以前的修改记录就无迹可循了。

代码得经常检查的,技术方面的负责人应该经常检查一下代码提交情况(提交注释是不是写清楚了,避免有的开发人员提交太随意),以及代码内容,有不好的地方专门找那个开发人员说一下。这种活挺累的。但是等到开发了几天功能做完了,再去重构,就很难推动了。不知道还有其它什么做法?分享一下。
10 楼 by5739 2009-06-29  
不要把所有该重构的地方积攒起来再一次性重构...这样积重难返..你都不想重构了...每当闻到bad smell的时候就应该重构了....当然需要完整的测试用例....
我们这里有个哥们最快每5分钟重构一次....有一次...这哥么和另一个哥们A合作.....A5分钟之前还在改某java文件..好不容易改好...提交svn....结果报告说版本过期..再一查...这个文件已经没有了...大喊救~~命....那哥们说...我1分钟之前重构删掉了..不要作废了.....哈啊哈哈....后来很长一段时间都成了我们的笑料..........
9 楼 tuti 2009-06-29  
poson 写道
tuti 写道
没自动测试,就不要扯什么重构。

自动测试是有的
但是unittest覆盖率应该比较低

有多低?
8 楼 yiding_he 2009-06-29  
覆盖率低就表示根本不是 TDD
7 楼 poson 2009-06-28  
tuti 写道
没自动测试,就不要扯什么重构。

自动测试是有的
但是unittest覆盖率应该比较低
6 楼 tuti 2009-06-28  
没自动测试,就不要扯什么重构。
5 楼 poson 2009-06-28  
aws 写道
什么规模的重构?

一般就是10天左右的开发量,几千行代码的review。我们每次项目目标都很小的,是典型的迭代开发
4 楼 aws 2009-06-28  
什么规模的重构?
3 楼 poson 2009-06-28  
mock1234 写道
不要把重构说成是一个重量级的企业开发文档开发步骤,那种理解是很荒唐的。XP的重构,是指发生在5~10分钟之内的那种操作,只有擅长每一次都高标准地完成看似短促、心血来潮就可以进行的重构才具有最大的威力,这个时候如果你的代码总是可以保持系统回归测试稳定性就可谓巅峰状态之作;而那些费了九牛二虎之力搞一场轰轰烈烈重构运动的笨重行为则反而不太擅长重构,初级水平、质量较低的开发人员就可以做这个事了。



那你就是说:当代码完成之后,再由有经验的人做代码review,之后再重构,这本身就是错的?
2 楼 iday 2009-06-28  
重构是建立在充分地单元测试的基础上的。
1 楼 poson 2009-06-28  
不知道代码review和结对编程那个更加省时间?
而且结对编程可能对两个结对的人要求比较高,不管是从个人素质,还是合作上面。

相关推荐

    实战项目开发编码规范

    【编码规范】在IT项目开发中,编码规范扮演着至关重要的角色。...同时,规范的使用也有助于代码审查,自动化工具的使用,以及后期的重构工作。因此,对于团队开发项目,制定并执行编码规范是不可或缺的。

    va可以使用,大家请放心使用,谢谢你们

    Visual Assist(简称VA)是一款广泛应用于Visual Studio集成开发环境中的增强插件,它极大地提升了代码编写、导航和重构的效率。在标题和描述中提到的"va可以使用,大家请放心使用,谢谢你们,Visual Assist 10.9 -...

    matlab导入excel代码-MainPage:本项目是电子科技大学材料科协维护的资料集

    万分感谢每一位为本项目做出贡献的人员,后来者因你们的努力而站得更高,走得更远,也希望后来者能将这种分享、奉献、开源的伟大精神一代一代传承下去。 感谢每一位贡献者: 目录 嵌入式技术篇 学习路线 萌新入门 ...

    拉教老框框记

    9. **最佳实践**:在IT领域,有许多最佳实践,如单元测试、代码重构和设计模式等,这些都可能是文档的重点。 10. **资源管理**:包括如何管理数据库、服务器配置、云服务的使用,以及如何优化资源利用率。 尽管...

    pos-tdd-pair:和我的搭档 Liu HuiMin@knight4925 重做我的 pos 作业

    这表明你们重视代码的质量和可测试性,遵循“红色-绿色-重构”的TDD循环,即先写失败的测试(红色),然后编写使测试通过的最小代码(绿色),最后重构代码以提高可读性和维护性。 标签“JavaScript”说明了这个POS...

    flutter_wan:flutter版玩android,页面基本均是fish_redux搭建

    初版的fish_redux的玩Android是我刚学flutter时写的,代码写的比较混乱,重构代码,也是为了让大家更清晰了解fish_redux结构,也给出TabBar控制器在fish_redux初始化的解决方案,大家可以看看 重构的所有模块,无限...

    C和C++编程心得—前人的经验总结

    - 《重构:改善既有代码的设计》:这本书介绍了如何优化现有代码,提高软件质量。 - 《代码整洁之道》:这本书介绍了编写干净、易于维护的代码的原则和实践。 **找书的诀窍** - 在线书店:亚马逊、当当网等提供...

    Silverlight在线几何绘图

    当你解读Silverlight代码和WPF代码的时候,你将会发现这并没有什么重大的不同之处(所以现在出现了Silverlight 和 WPF的兼容性类库,甚至出现了Silverlight 和 WPF的转换程序)。或者我们不妨悲剧的理解这本就是一个...

    PIC CMS图片网站管理系统 v1.2.ZIP

    前后端界面也全面重构,更加简洁,规范和易用。开放全部源代码,并保留所有注释,可以在遵循开源协议的前提下,方便的进行二次开发,甚至可以基于术框架构架一个全新的系统,我们将来会提供详细的API文档。 1.最快捷,最...

Global site tag (gtag.js) - Google Analytics