本周阅读了《构建之法》的第一章《概论》以及第四章《两人合作》。

  《概论》旨在说明软件工程的概念。

   作为一个程序员,几乎没有谁不知道“程序=算法+数据结构”这句名言的,而这本书中,则又提出了另一个概念“软件=程序+软件工程”,“软件企业=软件+商业模式”。

书中还提到了软件开发的不同阶段:玩具阶段、业余爱好阶段、探索阶段、成熟的产业阶段,并用了一个生动的飞机的例子区分了商业阶段与爱好者阶段的区别。如果程序中的一个功能,你用到他的几率是万分之一,那么你还会不会做这个功能?对此,我问自己:我会不会写这个功能?很明显,更好的答案是要写这个功能,但是,作为现在的我来说,编程序是能少写代码就不多写,虽然作为一名软件工程系的学生,但是我可能还只是停留在一名编程爱好者甚至是玩具阶段(★:此处应注意,以后用多注意细节上的问题。)此外,这一章中书中还提到了Bug的问题。我认为程序中的一个问题是程序的Bug还是功能应取决于用户的体验。因为一个软件开发出来是给用户使用的,而不是程序开发者主观判断这个问题到底是Bug还是功能。所以,在我们开发软件之前,应明确客户的需求到底是什么,而不是开发者的主观判断。

  《两人合作》中讲述了代码规范、极限编程、结对编程、两人合作的不同阶段、影响他人的技巧等内容。

  在大一编程的一年中,老师曾提到过注释的重要性,但是并没有强制要求,而且我写注释是用的汉语,中英文切换总觉得很麻烦。从而有很长一段时间里,我编程序都不加注释。但是导致的问题在后来也显现出来,等到在编程序时突然某个在大一时学的知识点忘记了,找到大一时编的程序想看一下,结果需要从头看所有的代码,才能找到自己想用的知识点到底在哪里……所以,在编程时,注意代码的书写以及规范性是非常必要的,它可以增强代码的可读性,为其他人阅读你的代码提供便利,而且在以后自己想看一下以前编的程序也比较方便。(★)而且,在编写代码时要养成良好的代码风格:简明、易读、无二义性。在编写时要注意代码的缩进、换行、以及使用括号清楚地表示优先级。(★此处为重点)其次,要注意对代码的极限测试,注意一些极限性的问题。

————————未完待续————————

转载于:https://www.cnblogs.com/qilin20/p/7955043.html

《构建之法》阅读笔记01相关推荐

  1. 梦断代码阅读笔记01

    就像这本书的推荐序一样,这本书最大的的魔力是它不只是讲技术和理论,而是向我们真实的反映了一流软件开发师是如何进行软件开发的,他把真实的事,人,技术以及产品的发展过程结合在一起.我们现在没有进行开发项目 ...

  2. 梦断代码阅读笔记之一

    最近阅读了罗森伯格的<梦断代码>,算是近距离观察了十几年前软件开发的状态.这本书是作者对OSAF主持的Chandler项目进行田野调查  而写的一本书.本书是在讲一事,也是在讲百千事:是写 ...

  3. 梦断代码阅读笔记03

    经过几天的阅读,终于将这本书看完了,读完了整个故事,我进行了简单的总结,感觉不仅仅是在写代码与计算机或软件交流,更多的是做事行为. 首先是做事得有目标.无论做什么事情都要有目标和动力,这样做起事来无论 ...

  4. 梦断代码阅读笔记之二

    第5章 管束奇客和狗 管理的任务就是让人能协同工作,益其长处.弱其短处.数字只是管理的一个起点,并非终点. 用代码行数计算软件生产力不太可靠. 非正式机制总是存在,而且如果没真正理解就改变他是很危险的 ...

  5. 梦断代码阅读笔记 03

    孟子曾经曰过"鱼,我所欲也,熊掌亦我所欲也:二者不可得兼,舍鱼而取熊掌者也",这就是我们耳熟能详的"鱼与熊掌不可兼得"的由来,无独有偶,其实生活中也有很多的&q ...

  6. 梦断代码阅读笔记02

    最近读到了第四章,大体讲了: 模块化和组件化是软件人员的梦想,谁都想把几个模块插到一起就可以完美的运行并完成任务,但现实却相当残酷,可以运行的模块通常不能与自己想写的程序配合工作,好的源代码由于商业利 ...

  7. 梦断代码 ---阅读笔记02

    Agenda之魂 由于不知道Agenda的意思,所以去查了一下,它是议事日程; 待议诸事项一览表; 日常工作事项; 议程的意思.不过在本书中确实一个项目的名字,它是为解决各种信息的管理问题. 继续努力 ...

  8. 阅读笔记《梦断代码》其二

    梦断代码阅读笔记之二 读"乐高王国"的时候,真的引起了我的共鸣.因为以前我就是作者描述的那种程序猿,专注于制造螺丝和螺母这种小细节,而不屑于利用别人早就写出来不 知多少个版本的代码 ...

  9. 《梦断代码》阅读笔记01

    这几天阅读了老师推荐的<梦断代码>前几章,通过本书简介可以知道本书大概主要讲的是做软件过程中的困难. 第一章软件时间,主要讲的是从事软件制作行业的艰辛,需要没日没夜的加班工作,书中有这样一 ...

  10. 《梦断代码》阅读笔记之第8章至最后

    以下是我读了梦断代码第八章之后的读书笔记: 1.自己做的软件自己一定要用,即"吃你自己的狗食",自己的软件开发出来后自己都不会用那么还要指望别人用不成? 2.在软件开发编写代码的时 ...

最新文章

  1. JAVA-基础(Class对象及反射)
  2. android用openGl ES绘制任意方程的三维空间图形
  3. [AHOI2008] 紧急集合
  4. 在JS中如何判断undefined和null
  5. 28个不得不看的经典编程算法!!
  6. 推荐系统实战-概念理解入门篇
  7. 服务器安装系统教程进光盘界面,iso光盘系统怎么安装系统教程
  8. springmvc多文件上传
  9. PHP Everywhere 插件中存在严重RCE,影响数千个 WordPress 站点
  10. 方维出现 Fatal error: Class 'Session' not found
  11. eclipse、EditPlus等编辑器选中列(块)的方法
  12. 趣谈网络协议(二)传输层
  13. 二元函数可导与可微的关系_二元函数可导、可微与连续性的关系.pdf
  14. PostgreSQL数据库----pgAdmin客户端工具的使用
  15. 五万字总结,深度学习基础。
  16. 神州租车——为用户提供精细化租车服务
  17. 学习torchvision.models._dict_
  18. Cocos2dx 2.1.5 孤狼优化整合版V1.1(32位)
  19. SSMS Sql Server 身份验证(设置用户名和密码)方式登录
  20. 英文歌曲:because of you(因为你)

热门文章

  1. c#获取当前应用程序所在路径
  2. [Redux/Mobx] 在React中你是怎么对异步方案进行选型的?
  3. 前端学习(3048):vue+element今日头条管理-分页布局
  4. [html] 制作页面时,前端如何适应各种异形屏?
  5. [vue] v-once的使用场景有哪些?
  6. 前端学习(2600):响应控制
  7. 前端学习(2559):双向数据和单向数据不冲突
  8. 前端学习(2375):项目介绍结束
  9. 前端学习(1734):前端系列javascript之添加动画
  10. 前端学习(977):本地存储导读