zoukankan      html  css  js  c++  java
  • 《程序员修炼之道》读后感(六)

      本篇针对第六章——“当你编码时”进行论述

      我在编写代码的时候通常都会先过一遍设计思路,之后就开始下手,往往写到一般就有了新的改进想法,到那个时候再说(笑)。

      其实编码的时候偶尔会发生这种情况,就是你无意写下的代码让你的程序成功运行,或者说再回过头来看的时候,你并不清楚这段代码到底有什么作用,但这种情况毕竟是少数,因为编码的时候通常都有很强的目的性,如果没有的话是无法达成目标的。可见,这种巧合编程我们不能对其保有依赖性。

      编码需要面对大量的算法架构,算法速率则决定了我们的作品是否具有高效率。在算法的选择上,我们通常考虑它的时间复杂度和空间复杂度,这里通过O()表示法来实现两个复杂度的评估,这也是数据结构课上所讲的东西。而这里要注意,最简单的那个算法,并不一定是最合适的,我们需要考虑现实要求,它不仅仅是比谁“快”。

      如果面向项目的话,我们还需要学会重构,也就是重新设计。这显然不是一个简单的活,你需要在已实现的完整代码基础上,将某个地方重新设计,还要保证连接无误,想想就头大。但当某段地方出现一些细小的异常时,重构的任务你就不得不提上日程,至少在它酿成大祸之前要解决它。

      编码完成后,测试是必不可少的,如果是编程题目,或许把样例输入进去,看看输出结果是不是样例结果就完事了,但在项目中可不是这样,你需要保证每处地方都不能出错。那么,为了自己省点力气,我们需要那些“易于测试的代码”,比如进行单元测试,或者针对合约进行测试。

      最后就是向导的问题,一些编码软件非常地“智能”,其中的向导甚至能帮你完成大部分工作,你只需要一个按键向它们求助即可,但这些代码不是你写出来的,你需要考虑偷懒背后的代价。

  • 相关阅读:
    char/unsigned char/int/short 存储范围
    js 数字数组按大小排序
    【转】Vue生命周期
    mvn+spring+webapp模板
    【转存】Vue组件选项props
    eclipse -- git 显示修改历史 对比文件
    eclipse -- git 提示
    mysql -- 查询并插入
    git --eclipse -- 下载超时
    mysql -- 字符串长度
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/12121811.html
Copyright © 2011-2022 走看看