所谓谚语,就是用言简意赅、通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情 。也正因如此,我才整理了10句编程谚语,每位开发人员都应该铭记他们,武装自己 。
1. 无风不起浪
文章插图
别紧张,这也许只是一场消防演习
代码设计是否糟糕,从某些地方就可以看出来 。比如:
- a. 超大类或超大函数
- b. 大片被注释的代码
- c. 逻辑重复
- d. If/else嵌套过深
译注:Code Smell中文译名一般为“代码异味”,或“代码味道”,它是提示代码中某个地方存在错误的一个暗示,开发人员可以通过这种smell(异味)在代码中追捕到问题 。
2. 预防为主,治疗为辅
文章插图
好吧,我相信了!
20世纪80年代,丰田公司的流水作业线因为它在缺陷预防方法上的革新变得出了名的高效 。每个发现自己的部门有问题的成员都有权暂停生产 。这个方法意在宁可发现问题后马上暂定生产、解决问题,也不能由其继续生产而导致更棘手且更高代价的修复/更换/召回后的问题 。
程序员总会做出生产率就等同于快速编码的错误臆断 。许多程序员都会不假思索地直接着手代码设计 。可惜,这种LeeroyJenkins式鲁莽的做法多会导致软件的开发过程变得很邋遢,拙劣的代码需要不断的监测和修改——也可能会被彻底地替换 。最终,生产率所涉及到的因素就不仅仅是写代码所消耗的时间了,还要有调试的时间 。稍不留神就会“捡了芝麻丢了西瓜” 。(因小失大 。)
译注:Leeroy Jenkins 行为:WOW游戏中一位玩家不顾大家独身一人迎敌,导致灭团 。
3. 不要孤注一掷 (过度依赖某人)
一个软件开发团队的公共要素(bus factor)是指那些会影响整个项目进程的核心开发人员的总数 。比如某人被车撞了或某人生孩子或某人跳槽了,项目可能就会无序,甚至会搁置 。
译注: bus factor 即指公共要素,比喻了开发过程中的一些共同因素 。如果挤上 bus 的 factor 越多,bus 就越不稳定,所以要控制好 bus factor,以免问题发生 。
换句话说,如果你的团队突然失去了一个主力成员,你会怎么办?生意依旧进行还是戛然而止?
很不幸,大多数软件团队都陷入了后一种情况 。这些团队把他们的开发人员培养成了只会处理他们自己专业领域的“领域专家” 。起初,这看起来是一个比较合理的方法 。它对汽车制造装配生产线很适用,但是为什么对软件开发团队就不行呢?毕竟,想让每个成员都掌握所编程序的细微差别也不太可能,对吧?
问题是开发人员不容易轻易替换掉 。虽然当每位成员都可用时,“抽屉方法”很有效,但如果当“领域专家”突然因人事变动、疾病或突发事故而无法工作时,抽屉方法立马土崩瓦解 。所以,软件团队有一些看似多余实则重要的后备力量是至关重要 。代码复查、结对编程和共有代码可用成功营造一个环境,在这个环境中,每位开发人员至少表面上是熟悉自己非擅长领域之外的系统部分 。
4. 种瓜得瓜,种豆得豆
文章插图
《注重实效的程序员》一书中有这样一段话解释“破窗理论”:不要留着“破窗户”(低劣的设计、错误的决策或者糟糕的代码)不修 。发现一个就修一个 。如果没有足够的时间进行适当的修理,就先把它保留起来 。或许你可以把出问题的代码放到注释中,或是显示“未实现”消息,或用虚拟数据加以替代 。采取一些措施,防止进一步的恶化 。这表明局势尚在掌控之中 。
我们见过整洁良好的系统在出现“破窗”之后立马崩溃 。虽然促使软件崩溃的原因还有其他因素(我们将在其他地方接触到),但(对“破窗”)置之不理,肯定会更快地加速系统崩溃 。
简而言之,好的代码会促生好的代码,糟糕的代码也会促生糟糕的代码 。别低估了惯性的力量 。没人想去整理糟糕的代码,同样没人想把完美的代码弄得一团糟 。写好你的代码,它才更可能经得住时间的考验 。
推荐阅读
- 微信小程序开发者:这太特么牛逼了,我很喜欢
- 没有服务器,也可以进行小程序开发
- 阿里数据库开发规范解释:关联查询,为什么要建议小表驱动大表?
- 灵活就业人员,自己缴费15年,个人账户5万多元,退休金多少钱?
- 退休人员如何进行「生存认证」,请您收藏好4个宝藏网站
- 多喝绿茶可防感冒,英国研究人员发现每天杯绿茶可防腹泻
- 5年Python功力,总结了10个开发技巧
- 恩施州推进夏秋茶开发,宁波夏秋茶试制水平取得突破
- 什么是前端和后端开发?写给即将迈入前端开发领域的朋友
- Mac 上的 Web 开发者最喜欢的编程工具