• 《编写可读代码的艺术》第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;
  • 相关阅读:
    su命令cannot set groups: Operation not permitted的解决方法
    Docker 使用指南 (二)—— 搭建本地仓库
    90后小伙云上打造倾诉社交平台
    一起用HTML5 canvas做一个简单又骚气的粒子引擎
    PCB设计流程
    PCB设计检查
    C语言——输入输出函数
    (1)STM32使用HAL库操作GPIO
    几个输入输出函数的总结
    STM32标准库GPIO操作
  • 原文地址:https://www.cnblogs.com/yyqng/p/13894053.html
Copyright © 2020-2023  润新知