• 《编写可读代码的艺术》第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;
  • 相关阅读:
    影院售票系统
    返璞归真
    【C++】【STL】【map】基础知识干货
    书签-技术类
    正则表达式-正则表达式校验金额最多保留两位小数
    winCommand-cmd杀死进程
    idea快捷键-总结
    接口封装-泛型方法、泛型接口、lambda表达式【类似ios传递block】
    treeMap-get返回null,因为比较器出问题
    git-linux一个月更新80万行代码,如何保证项目稳健?
  • 原文地址:https://www.cnblogs.com/yyqng/p/13894053.html
Copyright © 2020-2023  润新知