《程序员修炼之道:从小工到专家》第六章读书笔记

  第六章的题目是:“当你编码时”,很多时候,我们都认为编码阶段就是机械的把设计转换为可执行的语句,但是事实并不是这样,如果编码是机械工作,那么相对人工,机械早就能代替人工。当我们编码时,要批判地思考所有的代码,包括我们自己的,只要我们在制作代码,那么你就要记住总有一天你会对其测试,所以要让代码易于测试。

  第一部分是“靠巧合编程”,作为开发者,我们都工作在雷区里,我们要警惕,有时候错误的结论对程序来说是致命的。有时候一段代码看起来能工作,测试也没有问题,但是它可以工作也许只是个巧合,可能在特定的场景下它可以运行,但是换个地方就不行了,在一开始就把代码编的完美能解决后面很多的麻烦。

  再就是“算法速率”,前面看过“估算”这一小部分的内容,我们知道估算是很重要的,估算算法使用的资源,有一种叫做“bigO”的近似算法可以给我们表示算法。它可以为资源消耗建模。最快的算法对程序来说可能并不是最好的,如果你使用的算法成本太高,那么它就和它的运行时间相对矛盾,使得算法不再适用。

  “重构”,没有按照计划完成的事物会被清理,修理或重做,称为重构,当代码不再合适时,重构是很重要的,很多时候人们不愿意因为代码不完全正确就撕毁代码,但是当一个程序出错时,修改很难将错误解决时,重写就是唯一的方法。

  下一部分是:“易于测试的代码”,当设计模块或是单个例程时,你需要仔细地考虑边界条件和其他问题,没有什么修正错误的方法比从一开始就避免发生错误更好。当我们编写时,我们可以将每个单元拿出来测试,经常运行一些单元,对我们是有帮助的。

  最后一部分:“邪恶的向导”,不可否认,应用的编写变得越来越困难,为了让编码变得简单,有了叫做“向导”的东西,它是为了我们能更快的编程准备的,但是如果里面有你不明白的内容,那就尽量不要用,不然在后面的维护时将会难上加难。

posted @   liu_ru_jun  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示