梦断代码阅读笔记03

 计算机界有个老笑话,说某位受尽挫折的用户拨打技术支持热线,抱怨说明书中里写“按任意键开始”,可怎么也找不到“任意键”在哪儿。用户和程序员之间总是有存在着理解误差。就如同老师上课讲的那幅图,客户的要求,经过层层理解,到了程序员的实现,却成了只要有那些功能就可以了。老师一直强调的,做出的软件必须要有用户。

      “吃你自己的狗食”,这种说法的意思是开发者必须使用自己正在做的产品。如果一项软件,连开发者都没有使用的兴趣,那么这款软件可以提早结束生命了。如果微软公司的计算机都使用其他操作系统而不是windows,他们又有什么说服力来让用户们使用windows。

      “我们都为组织工作,组织需要计划,除非你的工作足够独立,否则必须按进度工作,如果你不自己做进度安排,别人就会给你做安排,这样别人就会控制你的工作。”软件的开发靠团队协作,所以进度问题很重要。

     “这里躺着一个野心勃勃的开源项目。它曾立志超越outlook,最后却无疾而终。”程序与软件不同,我们从开始到现在,做的一直都是程序,只是为了交差,拿学分,我们还从未尝试过怎么去做软件。

       个人感受:我觉得软件难以对付,是因为它不可见,不可见也并非唯一问题,我们也看不见电力、磁力或重力,但却能为多数实用目的可靠地预测其行为,可是我们没有理论可以用来计算对软件尺寸、性能和复杂度的限制,甚至不能以符合逻辑的手段来说明软件产品要做的事情以及它如何做到的问题。就像那个关于软件工程的笑话里说的,如果你不能把问题重现,程序员就没有办法解决问题。

原文地址:https://www.cnblogs.com/mjhjl/p/14902534.html