首页 > 编程语言 >《程序员修炼之道:从小工到专家》第六章读书笔记

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

时间:2022-11-30 15:22:05浏览次数:47  
标签:编码 读书笔记 小工 我们 程序员 算法 测试 重构 代码

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

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

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

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

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

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

标签:编码,读书笔记,小工,我们,程序员,算法,测试,重构,代码
From: https://www.cnblogs.com/liurujun/p/16938563.html

相关文章

  • 老程序员是如何逆袭的?磊哥的故事了解一下!(非广告)
    磊哥是我认识的一位“老”程序员了,2009年参加工作,到现在也有12年的编程经历了。网上都流传了“程序员是吃青春饭”的言论,那程序员究竟是不是吃青春饭的行业?这帮“老”程......
  • 重构:改善既有代码的设计 第七章 读书笔记
    第7章封装7.1封装记录(EncapsulateRecord)曾用名:以数据类取代记录;做法:1- 对持有记录的变量使用封装变量,将其封装到一个函数中。记得为这个函数取一个容易搜......
  • #yyds干货盘点# LeetCode程序员面试金典:URL化
    题目:URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以......
  • 《程序员的成长课》
    《程序员的成长课》——安晓辉周鹏著第一章如何选择技术方向1.“林迪效应”:“对于会自然消亡的事物,生命每增加一天,其预期寿命就会缩短一些。而对于不会自然消亡的事物,生......
  • 《Altium Designer程序员开发手册》V0.3
      下载链接:https://files.cnblogs.com/files/xiongshuang/AltiumDesigner%E7%A8%8B%E5%BA%8F%E5%91%98%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8CV0.32.zip?t=1669735164......
  • 《Unreal大象无形》读书笔记
    一、对象销毁 纯C++类销毁尽量不要使用new、delete方案,可以使用智能指针。智能指针会使用引用计数来完成自动的内存释放。使用MakeShareable函数可以来转化普通指针为智能......
  • C#设计模式读书笔记之设计模式的设计原则
    设计模式的设计原则:(重要性从上往下排列)开闭原则:对扩展开放,对修改关闭依赖倒转原则:高层模块不应该依赖底层模块,它们都应该依赖抽象;要针对抽象层编程,而不要针对具体类编程。......
  • 为什么越来越多的程序员开始学机器学习的原因
    越来越多的程序员开始学习机器学习了,看了本文,也许解释了为什么?一、前言程序员容易掉头发,而且,头发的多少似乎跟能力成反比:1、PHPPHP之父,RasmusLerdorf2、JavaJava之父,James......
  • 程序员你伤不起啊, 伤不起
    <iframestyle="HEIGHT:60px"id="Topic_Top"height="0"marginheight="0"src="/u/t5/include/ad1.asp?pdate=2011-04-07%2013:22:02&amp;ba=Other&amp;sa=FreeZone"f......
  • 程序员必备的10大健康装备!——我们要工作更要健康!
    爬虫里面做的最好的肯定是google,不过google公布的蜘蛛是很早的一个版本,下面是几种开源的网络爬虫的简单对比表:还有其他的一些比如Ubicrawler、FASTCr......