干净的代码:程序员必读书中的五个关键点

我最近写了五本书,这些书改变了我的编程风格在评论中,一些读者推荐了Robert S. Martin的“ Clean Code”。结果,我读了这本书,发现它值得深入审查。





关于这本书



« » 2008 , Amazon. , « », Agile Manifesto . 4,4 Goodreads 13 000 . , , .



.



1. —



, — . , ( ) .



相反,我们将从草图开始,逐步添加细节。我们修改,完善和扩展-我们在不同的抽象层次上工作,直到软件按我们需要的方式工作为止。该软件从未真正完成过。



这是“清洁代码”的主要本质。在整本书中,作者始终认为软件是艺术,类似于绘画。 



好的代码。资料来源:xkcd

但是,如何从编写简单代码到编程艺术呢?



Martin认为,我们可以使用的主要工具是持续重构和测试驱动开发(TDD)。它们彼此密不可分,就像硬币的两面一样。这里是一些定义。



— .



— , , .



, .



  1. . , .
  2. , . .
  3. . . 


« , « ». , «», , . ». 



, , , , — , , .



2. !



« — . , ». 



.

, .



  1. — 20 10 .
  2. , .


. , .



. . (SRP).



— « » , . , , , .



3.



« ». 



.

, , , . :





:





:



  • .
  • .
  • , .
  • , .


« » , , ,



.



  • 使用显示意图的名称-例如,int elapsedTimeInDays,而不是int days ...
  • 使用明显的名称-例如客户,而不是DtaRcrd102
  • 避免编码-不要使用m_前缀,也不要使用匈牙利表示法
  • 为每个概念选择一个词-本质上,不要使用不同的名称(例如,获取,检索和获取)进行相同的操作。


4.抽象很重要



抽象。资料来源:Abstruse Goose

根据Clean Code,如果我们要确保函数仅执行一项任务,则需要确保每个函数中的所有命令处于相同的抽象级别。



Martin通过FitNesse的以下示例对此进行了说明





. — hr , — . , , :





:



  • render () hr.
  • HtmlTag.
  • .


:



« ».



.



5. —



, , , , . , . 



, , , , . « », , « , ».



« . , . , ». 



.

,  , , . , , — . , — .





« » , . , , — , .



  , ,   . , , 13 , . , , , « », 2021 . , .



P.s. Zack Shapiro



. , , – .






All Articles