zoukankan      html  css  js  c++  java
  • 人月神话阅读笔记02

    我们在程序设计以及编写代码时,有时候会因为突然的灵感爆发给本身的程序添加一些其他东西,这些东西可能会是某个界面的漂亮展示,也可能会做另一个系统来达到某种突然想到的想法。但是更多时候这些东西并不能帮我们更好的做软件,相反这种做法会是画蛇添足。

    画蛇添足就过分设计,而书中很明确的指出了过分设计往往出现在设计和开发第二个系统的时候,对于第一个系统他们小心谨慎,倾向于精炼和简洁,但是到了第二个系统他们太想去追求完美,又加上盲目的自信,再加上没有太多的成本和进度等意识,导致了画蛇添足和过分设计。
        那么对于软件的结构师如何避免画蛇添足,也就是开发第二个系统所引起的后果呢?是的,他无法跳过二次系统。但他可以有意识关注那些系统的特殊危险,运用特别的自我约束准则,来避免那些功能上的修饰;这就需要根据系统基本理念及目的变更,果断的舍弃一些功能。还有对于项目经理来说,如何避免画蛇添足,他必须坚持至少拥有两个系统以上开发经验结构师的决定。同时,保持对特殊诱惑的警觉,他可以不断提出正确的问题,确保原则上的概念和目标在详细设计中得到完整的体现。
        对于我们刚刚接触软件开发,类似画蛇添足和过分设计的情况会经常出现,比如说我们完全根据自己主观思维,使用花哨的界面和不适用的功能。还会过分和过度的考虑系统的可扩展性而成倍加大系统复杂度。没有项目目标意识,追求完美的系统,但是去无法达到项目预期的进度和成本目标。追求一次成功,没有迭代和渐进的思路,老想一次就尽善尽美,结果往往确实难产。有时候,我们也会自我欣赏和盲目自信,完全沉醉到技术的乐趣而忘记了产品创造价值本身。

    所以,我们在开发规程中尽力避免这些问题。

  • 相关阅读:
    Code Forces 650 C Table Compression(并查集)
    Code Forces 645B Mischievous Mess Makers
    POJ 3735 Training little cats(矩阵快速幂)
    POJ 3233 Matrix Power Series(矩阵快速幂)
    PAT 1026 Table Tennis (30)
    ZOJ 3609 Modular Inverse
    Java实现 LeetCode 746 使用最小花费爬楼梯(递推)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
  • 原文地址:https://www.cnblogs.com/weiyao/p/5610137.html
Copyright © 2011-2022 走看看