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

    一、命名

    1. 全员生产维护
      • 整理
      • 整顿
      • 清楚
      • 清洁
      • 身美
    2. 简单代码规则
      • 能通过所有测试
      • 没有重复代码
      • 体现系统中的全部设计理念
      • 包括少量的实体,比如类、方法、函数等
    3. 变量的命名
      • 名副其实,它为什么会存在,它做什么事,应该怎么用。如果需要注释来解释,那就不是名副其实
    int d//消逝的时间 以天计
    int elapsedTimeInDays
    int daysSinceCreation
    int daysSinceModification
    int fileAgeInDays
    - 有意义的命名,  不要$a  $d 等  
    - 命名不要冗余, 比如在table的命名里永远不加table   变量的命名里不加variable
    - 能读得出来的命名 不要 genymd(生成年月日)  换成generationTimeStamp
    1. 类的命名
      • 类名和对象名应该以名词或者名词短语为主,避免使用动词
      • 方法名 尽量使用动词或者动宾结构并依Javebean标准加上get set is 前缀 5.终上所述,明确!就是要明确!不要前缀不要一语双关等等。 6.最后的话:取好名字最难的地方在于需要良好的描述和共有文化背景。与其说这是一种技术、商业或者管理问题,还不如说是一种教学问题。其结果是,这个领域内的许多人都没能学会做得很好。

    二、函数

    1. 函数就应该短小 一个函数最好不要超过20行
    2. 函数应该只做一件事,做好这件事,只做这件事
    3. 函数要么做什么,要么回答什么,不要两者兼有
    if(set('name','password'));
    //改为
    if(attributeExists('name')){
        setAttribute('name','password');
    }
    1. 别重复自己: 遵从DRY规则
    2. 如何写出这样的代码:写代码和写别的东西很像。在写论文或文章时,你先想什么就写什么,然后再打磨它。初稿也许粗陋无需,你就斟酌推敲,直至达到你心目中的样子
    3. 小结:每个系统都是使用某种领域特定语言搭建,而这种语言是程序员设计来描述那个系统的。函数是语言的动词,类是名词。编程艺术是且一直是语言设计的艺术。

    三、注释

    1. 只有当程序表达失败时,才需要用得上注释,真正好的代码是不需要注释的
    2. 注释不能美化糟糕的代码
    3. 用代码来阐述永远好过垃圾代码+注释
    #example
    if((employee.flags & HOURLY_FLAG)&&(employee.age)>65)
    还是这个?
    if(employee.isEligibleForFullBenefits())
    1. 好的注释:有些注释是必须的,也是有利的
      1. 法律信息
      2. 提供信息的注释
      3. 对意图的解释
      4. 阐释 注释把某些晦涩难明的参数或者返回值的意义翻译为某种可读形式
      5. 警示
      6. TODO 注释 这个就非常有必要了,将来需要怎么做,个人挺喜欢用的,当前时间段内,由于某些原因还没有做,但是以后会需要做的事
      7. 放大 和警示差不多
    2. 坏注释,大多数注释都属此类。通常,坏注释都是糟糕的代码的支撑或借口,或者对错误决策的修正,基本上等于程序员自说自话。
      1. 多余的注释
      2. 误导性的注释
      3. 循规式注释,比如每个字段都加注释, title author等简单明了的变量
      4. 日志式注释,因为有代码控制 SVN GIT 不需要把每次变化都通过注释表示
      5. 废话注释
      6. 能用函数或者变量时,就别用注释
      7. 归属和署名 年代越久越和原作者没关系
      8. 注释掉的代码,直接干掉代码整洁之道阅读笔记
  • 相关阅读:
    什么是用户画像——从零开始搭建实时用户画像(一)
    一站式Kafka平台解决方案——KafkaCenter
    Druid 0.17入门(4)—— 数据查询方式大全
    流媒体与实时计算,Netflix公司Druid应用实践
    解读银行卡支付背后的原理
    求求你了,不要再自己实现这些逻辑了,开源工具类不香吗?
    编程坑太多,Map 集合怎么也有这么多坑?一不小心又踩了好几个!
    设计数据库 ER 图太麻烦?不妨试试这两款工具,自动生成数据库 ER 图!!!
    一口气带你踩完五个 List 的大坑,真的是处处坑啊!
    轻轻一扫,立刻扣款,付款码背后的原理你不想知道吗?|原创
  • 原文地址:https://www.cnblogs.com/wangmy/p/7121129.html
Copyright © 2011-2022 走看看