• 《程序员修炼之道》阅读笔记06


      编码并不是机械地将设计转换成可执行语句,而是要在写程序的过程中思考和学习,注重实效的程序员批判地思考所有代码,在程序设计中看到改进的余地,帮助我们修正现有代码的技术。

      作为开发者,我们应该像士兵一样警惕,避免雷区,而是要深思熟虑地编程。学会计算算法的时间复杂度,这样就能大概估算出程序执行所需的时间,同时也为算法的优化提供依据。记住一些常见算法的时间复杂度,这样在做算法优化时会为你提供一些思路。重构是一项需要慎重、深思熟虑、小心进行的活动。关于怎样进行利大于弊的重构,Martin Fowler给出了以下简单提示:1不要试图在重构的同时增加功能;2在开始重构之前,你要确保自己拥有良好的测试,并尽可能经常运行这些测试。这样,如果你的改动破坏了任何东西,你就能很快知道;3采取短小、深思熟虑的步骤:把某个字段从一个类移往另一个,把两个类似的方法合并到超类中。重构常常涉及到进行许多局部改动,继而产生更大规模的改动。如果你使改动步骤保持短小,并在每个改动之后进行测试,你将能够避免长时间的测试。不要使用你不理解的向导代码如果使用向导生成代码,但是不理解它,那么你就无法控制你自己的应用,没有能力去维护它,在调试的时候遇到更大的困难

      个人感受:因此,当我们编码时,要靠巧合编码,了解自己的算法速率,学会去估计、保证;要写出易于测试的代码,便于后期的测试与维护。

  • 相关阅读:
    [BZOJ1657] [Usaco2006 Mar] Mooo 奶牛的歌声 (单调栈)
    [BZOJ1016] [JSOI2008] 最小生成树计数 (Kruskal)
    [BZOJ1015] [JSOI2008] 星球大战starwar (并查集)
    [BZOJ1007] [HNOI2008] 水平可见直线 (凸包)
    [BZOJ1061] [Noi2008] 志愿者招募 (费用流)
    [BZOJ1051] [HAOI2006] 受欢迎的牛 (强联通分量)
    BZOJ2299: [HAOI2011]向量
    BZOJ2783: [JLOI2012]树
    BZOJ3521: [Poi2014]Salad Bar
    BZOJ2429: [HAOI2006]聪明的猴子
  • 原文地址:https://www.cnblogs.com/news1997/p/9199743.html
Copyright © 2020-2023  润新知