zoukankan      html  css  js  c++  java
  • 《代码整洁之道》读书笔记一

    10.10

    本学期的阅读计划,考虑来考虑去,把目光聚集到了这本《代码整洁之道》,也是一本优秀的,广为人推荐和好评的一本程序人必读书籍。软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。这本书的阅读对象为一切有志于改善代码质量的程序员,书中介绍的规则均来自作者Bob大叔多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。

    本书的第一章是关于什么是整洁代码的讨论,引用了Bjarne Stroustrup(C++之父)、Grady Booch(UML的创始人之一)等人当然也Bob大叔自己对整洁代码的理解。不管是现实世界还是软件项目中,命名都是一件让人头疼的事情,给小孩起过名字的就知道,你希望把你对孩子的期望包含在这个名字中,你又希望这个名字读起来要好听,至少不至于将来成为别人的笑柄(比如庞光大、魏升京这样的名字),可能你还要考虑族谱班辈的排列等等。软件项目中的命名情况会更加复杂,简单的说命名的原则是"见名知意",当然你还需要用各种方式防范命名冲突的问题,不同的编程语言也有自己不成文的像契约一样的命名规则和方式(例如匈牙利命名法),这些可能都是需要考虑的事情。

    记住:好的名字相当于为代码写了一段有用的注释。

    例如:

    • "一组账号"别用accountList表示,List对程序员有特殊含义,可以用accountGroup、bunchOfAccounts、甚至是accounts
    • 不使用区别较小的名称,ZYXControllerForEfficientHandlingOfStrings和ZYXControllerForEfficientStorageOfStrings难以辨别
    • 不使用小写l、大写O作变量名,看起来像常量1、0
    Ron Jeffries 对整洁代码的理解:
      1.能通过所有的测试。
      2.没有重复代码。
      3.体现系统中的全部设计理念。
      4.包含尽量少的实体、比如类、方法、函数等。
     
    在以上诸项中,我最在意的是代码重复。如果一段代码重复出现,就表示某种想法未在代码中得到良好的提现。我会尽力去找出到底那是什偶么,然后在尽力的更清晰的表达出来。
     
    PS:总结下就是整洁的代码1.职责明确,没有多余,2.减少依赖,便于维护。3.高效。
  • 相关阅读:
    [bzoj1095] [ZJOI2007]Hide 捉迷藏
    [bzoj3730] 震波
    [bzoj3672] [Noi2014]购票
    [bzoj4129] Haruna’s Breakfast
    《CSS3知识点》
    《表单总结》
    <表格>
    《HTML总结》
    <java程序大集合>
    《字符串的概念》
  • 原文地址:https://www.cnblogs.com/dongao/p/14139551.html
Copyright © 2011-2022 走看看