《程序员修炼之道:从小工到专家》阅读笔记十

二十九它只是个视图

  不要将程序写成一个大块,而应该“分而治之”,把程序划分成模块。

  模块或类的一个好的定义:具有单一的,定义良好的责任。

  发布和订阅

  当我们对某个publisher生成的特定事件感兴趣,我们能做的是登记自己。publisher追踪Subscriber对象,publisher生成事件时,依次调用每个Subscriber对象。

  MVC(Model-View-Controller):让模型与表示模型的GUI分离,模型与管理视图的控件分离。

  模型-数据自身,以及用于对其进行操作的常用操作,视图-显示数据。

三十黑板

  警察在黑板上添加各种资料,某位侦探可能会注意到某种关联,并张贴他的看法和判断。

  黑板方法关键特性:1没有侦探需要知道其他任何侦探的存在。查看黑板,获取信息,添加自己的发现

                                   2侦探教育背景,专业经验不同,可他们都渴望破案,而这就是全部共同点。

           3不同侦探可能走来走去,工作班次不同

           4对放在黑板上的内容无限制,图片、判断、物证......

                    

以上所以特性同样适用于对象和代码块。

  提示:用黑板协调工作流。

      黑板协调完全不同的事实和因素,有使各参与方保持独立甚至隔离。

第六章 当你编码时

    传统智慧认为,项目一旦今日编码阶段,工作主要就机械地把设计转换为可执行语句.....

    编码不是机械工作,如果是,1980年的就取代了程序员。

    每一分钟都需要做出决策,如果想让所得程序响应长久、无误和富有生产力的一生。

    不主动思考自己的代码的开发者是靠巧合编程:提倡更积极地参与编码过程。

    注重实效的程序员批判地思考所有代码

      小心那些替你编写大量代码的工具,除非你理解它们在做什么。

    可靠的好司机会不断查看周围情况、检查潜在的问题、并让自己在万一发生意外时处于有利位置。

      代码如是,也许在很大程度上是例行公事,但保持警觉能很好地防止灾难发生。

三十一靠巧合编程

  作为开发者,我们也工作在雷区,每天有很多陷阱等着抓住我们,应该警惕,不要得出错误的结论。

  避免靠巧合编程--依靠运气和偶然的成功--而要深思熟虑地编程。

靠巧合编程

    可以运行,可以运行,几周后突然停止运行,几小时也无法修正。

    一开始不知道它为什么工作,完成一定测试,这不过是一种巧合。

实现的偶然

  那些只是因为代码现在的编写方式才得以发生的事情。你最后会依靠没有记入文档的错误或是边界条件。

  为什么要冒把工作的东西弄糟的风险,考虑几点理由:

      1它可能知识看起来能工作。

      2依靠的边界条件可能是个偶然

      3没有记入文档的行为可能随着库的下一次发布而变化

      4多余和不必要的调用是代码变慢

      5多余调用增加它们自己新bug的风险

    给别人调用的代码,良好的模块化和实现隐藏在撰写了良好文档的接口后,可能有帮助。

 

 

 

  

 

posted @   孙欣然  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示