zoukankan      html  css  js  c++  java
  • 《代码大全》 读书笔记3

    优秀的程序员会告诉你打根基的重要性,会劝你在厚积薄发前要隐忍。

    优秀的码农会告诉你学啥底层、啥啥啥一拖就好了,学了python还要啥自行车啊,数据结构排序函数二分搜索这不都内置了吗?工作中永远用不到,学算法有啥用啊?

    优秀的程序员多数是“随着一个迅速发展的企业一起迅速成长起来的”。学校里教不了多少东西,一味看书也无法理解复杂的场景,唯有在实践中锻炼,不停的解决问题。

    对优秀的设计师,他们共有的一项特质就是对变化的预期能力。好的程序设计所面临的最重要挑战之一就是适应变化。目标应该是把不稳定的区域隔离出来,从而把变化所带来的影响限制在一个子程序、类或者包的内部。下面给出你应该采取的应对各种变动的措施:

    找出看起来容易变化的项目。如果需求做得很好,那么其中就应该包含一份潜在变化的清单,以及其中每一项变化发生的可能性。在这种情况下,找出潜在的变化就非常容易了。如果需求中没有包括潜在的变化,请业务规则、对硬件的依赖性、输入和输出、被标准的语言特性、困难的设计区域和构建区域、状态变量等方面考虑变化。

    把容易变化的项目分离出来。把第一步中找出的容易变化的组件单独划分成类,或者和其他容易同时发生变化的组件划分到同一个类中。

    把看起来容易变化的项目隔离出来。设法设计好类之间的接口,使其对潜在的变化不敏感。设计好类的接口,把变化限制在类的内部,且不会影响类的外部。任何使用了这个将会发生变化的类的其他类都不会察觉到变化的存在。类的接口应该肩负起保护类的隐私的职责。

    好的变量名提高程序可读性的一项关键要素。对特殊种类的变量,比如循环下标很状态变量,需要加以特殊的考虑。

    名字要尽可能地具体。那些太模糊或者太通用以致于能够用于多种目的的名字都是很不好的。

    命名规则应该能够区分局部数据、类数据和全局数据。它们还应当可以区分类型名、具名常量、枚举类型名字和变量名。

    无论做那种类型项目,你都应该采用某种变量命名规则。你所采用的规则的种类取决于你程序的规模,以及项目成员的人数。

    现在编程语言很少需要用到缩写。如果你真的要使用缩写,请使用项目缩写词典或者标准前缀来帮助理解缩写。

    代码阅读的次数远远多于编写的次数。确保你所取的名字侧重于阅读方便而不是编写方便。

     基本数据类型

    数值、整数、浮点数、字符和字符串、布尔变量、枚举类型、具名常量、数组、创建类型

    要点:

    使用特定的数据类型就意味着要记住适用于各个类型的很多独立的原则。

    如果你的语言支持,创建自定义类型会使得你的程序更容易修改,并更具有自描述性。

    当你用typedef或者其等价方式创建了一个简单类型的时候,考虑是否更应该创建一个新的类。

    软件同时拥有内在和外在的质量特性。外在特性指的是该产品的用户所能够感受到的部分,包括正确性、可用性、效率、可靠性、完整性、适应性、精确性、健壮性。内在特性包括可维护性、灵活性、可移植性、可重用性、可读性、可测试性、可理解性。

     命名规则为代码增加了结构,是一项全局决策。所以看了这么些,对我感触大的还是以上这些,主要还是实践,并且思考。

  • 相关阅读:
    Vue DatePicker和不可用
    API图片路径和超链接语义化转换
    jQuery常用插件大全
    前端面试必备技巧整理
    堆与堆排序/Heap&Heap sort
    第k大的数
    POJ 2083 Fractal 分形题目
    最大子数组问题/Maximum Subarray
    一个简单的随机数生成算法
    成绩排序
  • 原文地址:https://www.cnblogs.com/maxin123/p/8505415.html
Copyright © 2011-2022 走看看