`
runfeel
  • 浏览: 936193 次
文章分类
社区版块
存档分类
最新评论

程序员需要知道的75件事翻译—Act With Prudence 慎行

 
阅读更多

欢迎关注我的博客


翻译

------
"无论你做什么,请谨慎的做,并且考虑这件事情的连续后果"---Anon

在软件迭代的开始,无论进度开起来多么的宽裕,你都无法避免来自时间上的压力。如果你发现你必须在“正确的写程序”和“快速的写程序”之间选择,那么你往往会选择“快速的做”,并给自己一个“以后再Fix它”的借口。如果你对你自己,你的团队,你的客户做出这个承诺,那么兑现他。但是,经常能看到的事情是在下一个软件迭代周期中,我们需要解决新的问题,你也专注于解决新的问题。这种拖延工作的行为我们叫做技术债。而这样做并不好。更确切的说,Martin Fowler将这种情况叫做故意的技术债,和那些无意中的错误导致的技术债区分。
技术债就像是贷款:你会在短期取得很好的效果,但是终究你要连本带利的还掉你的欠债。在代码中的“捷径”让增加功能和重构代码都变得更为困难。这让Bug蔓生,让测试用例完成更困难。知道你修正这个技术债,你才能免去这一切烦恼。如果你正在着手修复一个源头处的错误,这也许会引出一系列“不那么正确”的设计。这会使代码更难重构和修正。事实上,经常是代码真的出错了,你才去修复它。那时候,这个开始是很小问题的“技术债”,已经变得很难去修复了。你的项目也不能承受修复这个债的时间和风险。


你有时候必须要欠下这种“技术债”,例如deadline将至或者实现一个很小的功能点。首先避免这种情况出现,但是如果出现了,那么也只能欠下这个“债”了。但是(一个大大的但是),你必须记录跟踪这个“技术债”,并尽快的偿还他。否则事情将迅速的变得不可控制。也就是,一旦你打算这样做,那么必须记录到一张任务卡或者一个issue中,这样才能保证你不会忘了这件事情。


如果你在下一个迭代周期中,打算偿还这个技术债,那么损失会最小化。如果你一直不偿还这个技术债,那么你同时需要记录由于这个“技术债”而产生的“利息”,并量化它。这样做会强调这个技术债的影响,并且可以量化“还债”的优先级。如何计算和跟踪“利息”和具体项目有关,但是你必须这么做。


及时的还清技术债。否则,这技术债便是轻率的行为。


想法

------

  • 慎行是一个很重要的事情。但是让每个程序员时刻对自己要求严格,是一件很刻薄的事情。
  • 一个人如果切实了解这件事的价值,那么一定会去做。
  • 中国的教育,注定了中国的程序员很难有这方面的素质。其实,培养这种素质很简单。让大学的毕业设计,从大一开始做。四年写一个大型的系统。那么每个人都应该能感受到不应该欠下“技术债”了
  • 文中提到的“技术债"的欠法很牛逼。以前自己没有想到。

分享到:
评论

相关推荐

    程序员都知道那点97件事儿!97.Things.Every.Programmer.Should.Know.Feb.2010.pdf

    1. **审慎行事(Act with Prudence)**:在编程工作中,审慎行事意味着对待每一行代码和每一个决策都要三思而后行。Seb Rose提出了这一点,强调在采取行动之前仔细考虑可能的后果。 2. **应用函数式编程原则(Apply...

    每个程序员都应该知道的97件事

    ### 每个程序员都应该知道的97件事 #### 知识点一:行动谨慎(Act with Prudence) - **作者**:Seb Rose - **核心内容**:本章节强调了作为程序员,在做出决策时应该保持谨慎的态度。无论是编写代码、设计系统...

    programmer know

    例如,"Act with Prudence"(谨慎行动)由Seb Rose编写,强调在编程过程中应当审慎行事。"Apply Functional Programming Principles"(应用函数式编程原则)一文由多位作者贡献,提出在编程中应用函数式编程的各个...

    四六级小贴士:作文替换词&翻译练习.doc

    四六级英语考试中,作文和翻译是两个重要的部分,对于考生来说,能否在这些方面取得高分直接影响到整体成绩。以下是一些关于如何提升四六级作文和翻译能力的知识点: 1. **词汇替换**:在写作时,避免重复使用相同...

    java开发抽奖系统源码-97-Things-Every-Programmer-Should-Know:基于抄送http://programm

    java开发抽奖系统源码##Act with Prudence “无论你做什么,都要谨慎行事并考虑后果” Anon 无论在迭代开始时时间表看起来多么舒适,有时您都无法避免承受压力。 如果您发现自己必须在“正确做事”和“快速做事”...

    铅封套件[手册].pdf

    手册中的警告和危险提示,如“VORSICHT”、“CAUTION”、“PRUDENCE”、“DEUTSCH”、“ENGLISH”等,指出危险电压的存在,并强调在开始工作之前必须要将装置和设备的电源断开和锁定。这些安全措施是至关重要的,...

    金融英语(FECT)考试模拟练习题大汇总.docx

    在金融英语(FECT)考试中,考生需要对各种金融概念有深入的理解。以下是一些相关的知识点: 1. 货币的功能:货币的功能包括作为交换媒介(A. To act as a medium of exchange)、记账单位(B. To act as a unit of ...

    更换风扇 3RW445 / 3RW446[手册].pdf

    - 法语版: Prudence. Le fonctionnement sûr de l'appareil n'est garanti qu'avec des composants certifiés. - **翻译**: 警告。只有使用经过认证的组件才能确保设备的安全运行。 #### 三、安装与维护前阅读...

    谨慎:简单的JS对象验证器

    验证非原始输入是一件很痛苦的事情,我发现自己经常重写输入验证。 现有的解决方案并没有真正吸引我,特别是那些定义了自己复杂的架构格式来执行操作而不使用功能的解决方案。 相反,Prudence使用的模式与预期对象...

    辅助导线连接件[手册].pdf

    本文档是一份关于辅助导线连接件的手册,主要介绍了辅助导线连接件的安装、操作以及维护等相关的使用说明。在阅读和理解这些指导之前,我们必须意识到涉及的设备可能存在的危险性,特别是关于电能的危险,因此,在...

    英语名人名句

    - **翻译:** 天赋就像自然生长的植物,需要通过学习加以修剪。 - **解析:** 培根在这里比喻了天赋与后天学习之间的关系。他认为,虽然天赋是个体成功的起点,但如果没有经过不断的练习和学习,天赋可能会逐渐消退...

    SIRIUS 用于星三角组合的安装套件 S0[手册].pdf

    从【部分内容】中可以看出,这份手册对于不同语言的用户分别提供了“VORSICHT(警告)CAUTION(注意)PRUDENCE(谨慎)”,紧接着是强制性的指令,比如“Read and understand these instructions before installing,...

    SENTRON VL630 - VL800 过电流脱扣器 TM (热式 / 磁式)[手册].pdf

    2. 通过多种语言的标识,我们可以了解到这本手册可能被翻译成德语、英语、法语、西班牙语、葡萄牙语和中文,旨在覆盖不同国家和地区的用户。 3. 文件内容强调了操作设备前的安全警告。特别是使用和维修设备前,必须...

    Sentron VL160X - VL250 框形端子 铜/ 园导线端子 铜/ 铝[手册].pdf

    该产品属于电气连接件,特别适合于铜导线和铝导线的连接使用。文档内容涉及多国语言,包括中文、德语、英语、法语、意大利语、葡萄牙语和西班牙语,确保不同国家的用户都能够阅读和理解手册内容,以便安全地进行产品...

    SENTRON VL1250 - VL1600 门控旋转传动装置,提前辅助开关[手册].pdf

    手册中用多种语言强调了安全警告,如德语中的“GEFAHR”(危险)、英语中的“DANGER”(危险)、法语中的“PRUDENCE”(谨慎)、葡萄牙语中的“CUIDADO”(注意)等,都提醒用户在操作前需要断开电源并锁定,防止...

    可铅封的热磁脱扣器透明罩[手册].pdf

    - **法语**: Prudence - Tension électrique, Danger de mort ou risque de blessures graves - **西班牙语**: Precaución - Tensión peligrosa, Puede causar la muerte o lesiones graves - **意大利语**: ...

Global site tag (gtag.js) - Google Analytics