zoukankan      html  css  js  c++  java
  • 05程序员修炼之道:从小工到专家阅读笔记之二

    正交性

      消除无关事物之间的影响,写正交的系统,提高生产率与降低风险。

    工具箱与库

      当自己引入第三方工具箱和库时,要注意保持系统的正交性,要明智的选择技术。

    编码

    • 让你的代码保持解耦。
    • 避免使用全局数据
    • 避免编写相似的函数

    测试

      正交地设计和实现的系统也更易于测试,因为系统的各组件之间的交互是形式化的和有限的,更多的系统测试可以花在单个的模块级进行,这是好消息,因为与集成测试相比,模块级测试要更容易规定和进行得多。在《构建之法》中也看过软件测试的方法也是一些功能性测试。

    重复的危害

      系统中的每一项知识都必须具有单一、无歧义、权威的表示。

      DRY——Don't Repeat Yourself  不要重复你自己

    重复是怎样发生的:

    • 增加的重复。开发者觉得他们无可选择——环境似乎要求重复。
    • 无意的重复。开发者没有意识到他们再重复信息。
    • 无奈性的重复。开发者偷懒,他们重复,因为那样似乎更容易。
    • 开发者之间的重复。同一团队的几个人重复了同样的信息。

      无奈性的重复很常见,一些功能代码也是直接就Ctrl+C,Ctrl+V弄过来,然后改一改,实际上有好多重复,这就多了很多代码,

    当你编码时,不要使用你不熟悉的东西编程,不要靠巧合编程。对原理一知半解,对代码一知半解,想着碰运气,试一试的态度在解决问题,

    出了问题后不知所措,找问题的所在之处更是无从下手。

    只能更换代码,耗时耗力,还学习不到东西。自己编程时,一直干却不知道怎么表达的感觉,就“靠巧合编程”完善呈现出来了。

    没错,仔细想想自己编程,很多时候都是在靠巧合编程,而不是深思熟虑的编程。

    所以自己以后写代码的时候一定要注意这个问题,写代码的时候不能偷懒,为了避免以后有更多的麻烦。

  • 相关阅读:
    Note/Solution 转置原理 & 多点求值
    Note/Solution 「洛谷 P5158」「模板」多项式快速插值
    Solution 「CTS 2019」「洛谷 P5404」氪金手游
    Solution 「CEOI 2017」「洛谷 P4654」Mousetrap
    Solution Set Border Theory
    Solution Set Stirling 数相关杂题
    Solution 「CEOI 2006」「洛谷 P5974」ANTENNA
    Solution 「ZJOI 2013」「洛谷 P3337」防守战线
    Solution 「CF 923E」Perpetual Subtraction
    KVM虚拟化
  • 原文地址:https://www.cnblogs.com/zhukaile/p/14829082.html
Copyright © 2011-2022 走看看