zoukankan      html  css  js  c++  java
  • 程序员修炼之道读书笔记5

      本书第六章为当你编码时。

      在“靠巧合编程”部分,提到我们要深思熟虑的编程。在编程过程中,可能会出现实现的偶然、语境的偶然、隐含的假定,这些会导致代码不能一直工作并且不知道原因所在。给出了提示44,“不要靠巧合编程”。那么,怎样深思熟虑的编程:1、总是意识到你在做什么2、不要盲目的编程3、按照计划行事4、依靠可靠的事物5、为你的假定建立文档6、不要只是测试你的代码,还要测试你的假定。7、为你的工作划分优先级8、不要做历史的奴隶。

      在“算法速率”部分,提到注重实效的程序员几乎每天都要使用:估计算法使用的资源——时间,处理器,内存等。给出了提示45,“估算你的算法的阶”。注重实效的程序员会设法既考虑理论问题,又考虑实践问题。给出了提示46,“测试你的估算”。  

      在“重构”部分,提到重写、重做和重新架构代码合起来,称为重构。在代码具有以下特征时,应考虑重构1、重复2、非正交的设计3、过时的知识4、性能。给出了提示47,“早重构,常重构”。那么,怎样进行利大于弊的重构,下面给出了几点简单提示:1、不要试图在重构的同时增加功能2、在开始重构之前,确保你拥有良好的测试 3、采取短小、深思熟虑的步骤。

      在“易于测试的代码”部分,提到软件需要进行单元测试(对模块进行演练的代码),针对合约进行测试。给出了提示48,“为测试而设计”。测试的方法有编写单元测试,使用测试装备,构建测试窗口。给出了提示49,“测试你的软件,否则你的用户就得测试”。

      在“邪恶的向导”部分,给出了提示50,“不要使用你不理解的向导代码”。

      本书第七章为在项目开始之前。

      在“需求之坑”部分,给出了提示51,“不要搜集需求——挖掘它们”。提示52,“与用户一起工作,以像用户一样思考。之后还需要建立需求文档,需求文档不要太过具体,但应能够准确的反映商业需要。提示53,”抽象比细节活得更长久“。提示54,”使用项目词汇表“。

      在”解开不可能解开的谜题“部分,讲到解开谜题的秘诀是确定真正的(而不是想象的)约束,并在其中找出解决方法。提示55,”不要在盒子外面思考——要找到盒子“。

      在”等你准备好“部分,给出了提示56,”倾听反复出现的疑惑——等你准备好再开始“。在不清楚自己是在拖延还是在负责的等待所有工作准备就绪的时候,开始构建原型。

      在”规范陷阱“部分,给出了提示57,”对有些事情“做”胜于“描述”。作为注重实效的程序员,应该倾向于把需求搜集、设计以及实现视为同一个过程——交付高质量的系统的不同方面。

      在“圆圈与箭头”部分,给出了提示58,“不要做形式方法的奴隶”。注重实效的程序员批判的看待方法学,并从方法学中提取精华,融合成每个月都在变得更好的一套工作习惯。给出了提示59,“昂贵的工具不一定能制作出更好的设计”。

      

  • 相关阅读:
    yum 源配置
    RHCE学习笔记 管理1 (第六章 第七章)
    阿里云ecs(phpstudy一件包)
    PHP第三方登录 -- 微博登录
    php 实现qq第三方登录
    Linux 搭建svn服务器
    Linux vi编辑器的基本命令
    Mysql 导出导入
    svn服务配置和日常维护命令
    Eclipse导入idea 项目
  • 原文地址:https://www.cnblogs.com/songxinai/p/12116088.html
Copyright © 2011-2022 走看看