《梦断代码》阅读笔记2

   卡普尔认为, 软件设计不仅只是在程序员代码之上覆盖一层诱人的图形。它是一种设想用户需求并在软件结构中满足这些需求的创造性基础工作。

良好设计的原则:

  • 坚固–良好的结构、没有缺陷

  • 适用–程序应符合其设定目标之所需

  • 愉悦–使用程序的体验应令人愉快。

      设计方案与实际过程没有先后,而是相辅相成,同期发展。在软件世界中,集成(integration ) 的意思就是把一段运行正常的代码连接到某个程序中另一段运行正常的代码上。集成往往是软件项目遇到大麻烦的环节。分开来运行相当正常的代码, 在合起来时就闹罢工:不能正确挂接、发送不可解释的消息、或者顽固地拒绝启动或停止。现今的多数项目都接纳了“持续集成”的观念:程序员不断向主干代码中签入最新的代码,每个人负责确保自己加进去的代码不会导致问题发生。持续集成应该更利于产品的定期发布。

      在管束奇客和狗这一章,指出从狗的需要管束引论到程序员需要管束。工程的质量、进度、成本也需要进行策划决策。质量三角,既好、又快、还便宜,同时满足的事情不太可能发生。软件经理非常重要,他制定进度、推动程序员按进度工作、决定先干什么后干什么,需要沟通能力、决策能力、市场感知能力、粘合团队能力、程序掌控能力等等。用代码行数做判断标准只会鼓励程序员写臃肿、蹩脚的代码。我们日常学习过程要要将代码写精,不应该只追求速度与数量。

    在细节试图这一章里我读到了一句很喜欢的话:有些程序员在乌云中彷徨,放佛自己修正过的每个缺陷都在在他们的心灵上留下了一道伤疤,另一些呢,则视编写代码为唯一的乐事。老师跟我们说程序元都是乐天派,因为对于一些简直头大的错误摆在自己面前的时候,除了自己的安慰和乐观,我们真的没有什么了。但我觉得正是这一种乐观和坚持是对我最大的鼓舞。我也希望这个坚持能像书中说的那样能得到回报~

     程序员和机器、程序员和程序员、程序员和用户之间往往达不到某种共识。程序员们对于信息的需求显而易见。他们需要细节。他们需要蓝图。他们需要规格说明。规格说明是程序员的圣经,而且,通常程序员也会是忠诚信徒:规格说明就是法律。需求搞错的严重后果,18英尺的巨石拱门变成了18英寸的石桩子。

     最著名也最声名狼藉的匈牙利命名法:在匈牙利语标记法中,程序员给每个变量名加上前缀, 好让代码阅读者了解变量的类型。匈牙利命名法可能在用C++写Windows程序的时代是需要,因为各种类型、结构、枚举、控件等等让人眼花缭乱,让人容易出错,而在Java和C#等这种强类型的语言中,这类命名法完全是对程序员审美观的践踏。

posted @ 2021-11-29 17:43  第厘  阅读(85)  评论(0编辑  收藏  举报