zoukankan      html  css  js  c++  java
  • 《编写可读代码的艺术》第1章 代码应当易于理解

    1.什么让代码变得更好?

        1)可读性的基本原理:代码的写法应当使别人理解它所需的时间最小化。

              这里的别人也包含6个月后的你自己,因此代码并不是越小越好。

              这个可读性的目标会与代码高效,良好架构或者易测试等目标有冲突吗?本书的作者认为根本不会,也就是说你可以在保证代码其他目标的同时让代码易读。        

              保证代码的可读性需要花额外的时间,但是这也会让你成为一个更好的程序员,让代码的bug更少,让你的代码更受欢迎。

             示例1:

     1 //正面例子
     2 for (Node* node = list->head; node != NULL; node = node->next)
     3     Print(node->data);
     4 
     5 //反面例子
     6 Node* node = list->head;
     7 if (node == NULL) return;
     8 while (node->next != NULL) {
     9     Print(node->data);
    10     node = node->next;
    11 }
    12 if (node != NULL) Print(node->data);

              示例2:

    1 //反面例子:更紧凑
    2 return exponent >= 0 ? mantissa * (1 << exponent) : mantissa / (1 << -exponent);
    3 
    4 //正面例子:更直白
    5 if (exponent >= 0) {
    6     return mantissa * (1 << exponent);
    7 } else {
    8     return mantissa / (1 << -exponent);
    9 }

            示例3:

    1 //反面例子
    2 assert((!(bucket = FindBucket(key))) || !bucket->IsOccupied());
    3 
    4 //正面例子:更易懂
    5 bucket = FindBucket(key);
    6 if (bucket != NULL) assert(!bucket->IsOccupied());

            示例4:

    1 //正面例子:加了一行注释使代码更易懂
    2 // Fast version of "hash = (65599 * hash) + c"
    3 hash = (hash << 6) + (hash << 16) - hash + c;
  • 相关阅读:
    5_4 编码重新总结
    5_9 ___2 mc函数
    5_9 代码分析 load_pic_pointers
    5_2 实现过程中
    5_4 calvc
    428 对于 mb_cmp_init函数中一些宏定义的展开 x264_encoder_open中
    Oracle数值处理函数
    JAVA常用注解
    Java随笔
    centos 7 上Hive2.1.1的安装与基本操作
  • 原文地址:https://www.cnblogs.com/yyqng/p/13894053.html
Copyright © 2011-2022 走看看