zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记01

    在之前,总学习软件是件非常不容易的事情,特别是阅读一本乏味的编程知识类的书,从看第一本C++ Primary以来,我几乎再也没有自己主动看一本关于编程类,软件工程类的书。在我看来,对所谓编程的认识就是一个黑框框,加上一些乏味的代码,枯燥无味地码着代码。在第一次听到老师说愚公移山的例子,还有阿超为他儿子写的四则运算的程序的例子,我才知道原来学习编程的过程也是有联系现实生活的生动例子的,渐渐从一开始特别排斥学习软件工程的书到开始接受。

    老师上课所举的例子阿超就是构建之法书中的角色,从阿超为儿子编程的过程,引入了外界用户例如老师,学校到最后一个英国的学校的要求,阿超从一开始对四则运算的题目简单程序,到用户逐渐提出他们的要求,已经成为了一个有一定规模的项目。这个例子说明了当有了想法之后付诸实践之所得到的结果如果能够得到用户的反馈并且自己继续改进的话,无论这个实践的过程是多么简单,付诸实践后经过建议的累加后都有可能成为一定规模的项目。应该也就是说,程序本身应该是简单的,是在用户的需求中,不断成长起来的。

     对于构建之法的这一小部分例子让我想起了我去年参加的程序设计大赛中的作品,一个本来拿去参加连初赛都进不去的作品,当时也是因为连初赛都进不去,对自己的实力产生了怀疑,自己拼尽全力就写了这么一个简单的作品,我是否有实力在软件工程这个专业待下去呢?书中,阿超通过这样的一个简单的程序,最终发展到连外国的学校都对他的作品提出了要求的这个过程,经过了用户的评价不断地对作品进行迭代才有最终的结果。但是我自己的在那个时候仅仅只是考虑自己的软件是好或坏,这点我自己感觉不太好。软件的好与坏并不是在第一次写出来的时候就能够评价的,在阅读了构建之法的概论后,我对软件的认识有了一定的转变。在第一次写出来的作品是自己的测试版,那个时候没有任何用户的建议还有评价,软件没有经过任何迭代,任何用户的建议的改进,也不会好用到哪里去的。

     因此之前的那种以自我为中心的开发模式很明显不符合软件的开发,所以再之后虽然没有做任何的宣传,任何用户,但是我凡事以自己作为一名用户去体验自己的程序,这样的开发虽然很慢,但是效果我是感觉比以前好很多的,这是室友作为体验的用户所说的。

  • 相关阅读:
    将Nginx添加到windows服务中
    springboot使用redis管理session
    GIT常用命令
    阻止360、谷歌浏览器表单自动填充
    谈谈对Spring IOC的理解
    同一个Nginx服务器同一端口配置多个代理服务
    LeetCode 653. Two Sum IV
    109. Convert Sorted List to Binary Search Tree(根据有序链表构造平衡的二叉查找树)
    108. Convert Sorted Array to Binary Search Tree(从有序数组中构造平衡的BST)
    LeetCode 236. Lowest Common Ancestor of a Binary Tree(二叉树求两点LCA)
  • 原文地址:https://www.cnblogs.com/halone/p/11046640.html
Copyright © 2011-2022 走看看