• 编写优质无错代码


      《编程精粹 - Microsoft编写优质无错C程序秘诀》是我很久之前看过的一本电子书。之前想过买纸质书,但是在网上和书店找了一番都没找到。找到类似的书名,不过都不是这本书。
      这本电子书一直收藏在我的电脑里。前面也有把它直接打印出来过。因为这本书的总共才一百多页。在计算机类书里,算是薄的了。这本书,对我的影响很大,改变我的编程思想和习惯。我反复看过很多次。
      虽然近些年,我基本上C#开发为主,很少写C/C++代码,但是编程的一些思想其实是相通的。
      我较少推荐给别人,这本书知名度不是非常高,所以我比较愿意称它为码农界的秘籍。从小武侠片就教育我们,但凡是秘籍就不能随便相送。当然也有推荐给别人,却引不起足够重视的。
      这本书的引言部门就已经吸引了我,说是作者看到一本书的序言的时候,深深触动了他。写的是那本书的作者称自己写的代码已经排除了所有的BUG。只要有人能在这本书里找出一个BUG,就给第一个发现者20.48美元。
      做过开发的都知道,程序有BUG太正常了,有几个人敢这么开口说。书中的一句话写得相当形象:【每当代码被打包装送给程序经销商之前,人们在胸前划着十字带着最好的愿意说:“希望测试已经发现了所有的错误”。】
      书中提到两个关键问题,就是发现错误时,不断地就以下两个问题追问自己的结果:
      1、怎样才能自动地查出这个错误?
      2、怎样才能避免这个错误?
      这本书的表达方法我也非常喜欢,作者其实也是借鉴之前的经典著作的。主要是:
      1、给出一个例子;
      2、指出该例子中的某些问题所在;
      3、用一般的准则改进该例子。
      而且作者也到,也把它列为第一条准则:【每条准则都有例外】。
      作者举了不准闯红灯的例子,这让我想起之前网上一个视频,一辆小车拦着一车正在执勤的消防车,怎么也不敢开,到最后还是旁边车道的车闯了红灯让出道的。
      我通过这本书的阅读,结合开发经历,总结出来几条经验:
      1、当发生了我们编程时意料之外的情况时,尽可能想办法能让我们自己知道。Assert方法和错误日志是不错的方式。
      2、理解什么时候需要保护和异常处理,什么时候不应该保护并且想办法抛出异常。
      3、提交代码之前,一定要Review代码,把自己所有的修改都重新看一遍。书里其实是要求,提交的代码都单步调试过。确实有些错误,阅读代码比较难发现,单步调试却很容易发现。
      4、写下每一个if的时候都应该考虑else的情况。
      不过依赖黑盒测试,书里面举的例子是用问一个问题来测试一个人是不是疯子,但很多时间我们会担心问的是否全面准确。
      投资者和赌徒之间的区别在于投资者利用每一次机会,无论它是多么小,去争取利益;而赌徒则只靠运气。
      【使用编译程序所有的可选警告设施】
      【如果有单元测试,就进行单元测试】

  • 相关阅读:
    解决maven无法下载jar的问题
    Vue-Router 基础
    VUE自定义组件
    VUE过滤器
    VUE生命周期函数
    VUE表单输入绑定
    VUE计算属性和监听器
    VUE 模板语法
    VUE介绍
    taro3.x: 函数组件createIntersectionObserver
  • 原文地址:https://www.cnblogs.com/wzwyc/p/9453049.html
Copyright © 2020-2023  润新知