• 《程序员修炼之道》读后感(六)


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

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

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

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

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

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

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

  • 相关阅读:
    [原创]快速排序(C++版)
    连接mysql8.0时报错的问题
    关于idea无法使用搜狗输入法打出汉字的解决方案(转)
    bootStrap select组件相关问题
    idea 项目可以运行但是jsp中url报红的问题
    idea 项目启动找不到页面问题和run/debug只能启动一个的问题
    form序列化到后台中文乱码
    在js中获取bootStrap table 的属性
    三元运算符,多条件时判断
    Spring获取日期时间差8小时问题解决
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/12121811.html
Copyright © 2020-2023  润新知