目录 8.1 示例:编辑器文本类 8.2 示例:配置参数 8.3 做过了头 8.4 结论 本章介绍了另一种思考如何创建更深层次类的方法。假设您正在开发一个新模块,并且发现了一个不可避免的复杂性。哪个会更好呢:应该让模块的用户处理复杂性,还是应该在模块 ...
目录 . 使代码更简单的东西 . 使代码不那么明显的事情 . 结论 晦涩是 . 节中描述的复杂性的两个主要原因之一。当系统的重要信息对新开发人员来说不明显时,就会出现模糊现象。模糊问题的解决方案是用一种简单易解的方式来写代码。本章讨论了一些使代码或多或少变得简单的因素。 如果代码是简单易解的,这意味着某人可以快速地阅读代码,而不需要太多思考,并且他们对代码的行为或含义的第一次猜测将是正确的。如果 ...
2019-12-30 11:47 0 751 推荐指数:
目录 8.1 示例:编辑器文本类 8.2 示例:配置参数 8.3 做过了头 8.4 结论 本章介绍了另一种思考如何创建更深层次类的方法。假设您正在开发一个新模块,并且发现了一个不可避免的复杂性。哪个会更好呢:应该让模块的用户处理复杂性,还是应该在模块 ...
。所有这些讨论都是有价值的,但是软件设计的核心问题在很大程度上仍然没有触及。David Parnas的经典 ...
目录 16.1 保持战略 16.2 维护注释:将注释放在代码附近 16.3 注释属于代码,而不是提交日志 16.4 保留注释:避免重复 16.5 维护注释:检查差异 16.6 更高级别的注释更容易维护 第1章描述了软件开发是如何迭代和增量 ...
2020年必读书籍推荐:软件设计的哲学(A Philosophy of Software Design),本书190多页,豆瓣的点评分在9分以上,目前只有英文版本,中文版还未上市,英文好的同学建议去直接阅读原版。 作者简介 John Ousterhout是斯坦福大学计算机科学教授。他目前 ...
2020年必读书籍推荐:软件设计的哲学(A Philosophy of Software Design),本书190多页,豆瓣的点评分在9分以上,目前只有英文版本,中文版还未上市,英文好的同学建议去直接阅读原版。 内容简介 书中讨论了软件设计的主题:如何将复杂的软件 ...
“ 作者简介:常柱,微信公众号【架构未来】作者,十多年一线互联网研发从业经验;前五八同城商业会员技术负责人,宝驾租车技术总监,现58到家业务中台技术负责人。 这本书是关于如何设计软件系统来最小化它们的复杂性。第一步是了解敌人。到底什么是“复杂性”?你怎么知道一个系统是不是不必要 ...
目录 17.1一致性的例子 17.2 确保一致性 17.3 别做过了头 17.4 结论 一致性是降低系统复杂性和使其行为更加明显的强大工具。如果一个系统是一致的,这意味着相似的事情以相似的方式完成,而不同的事情以不同的方式完成。 一致性创造了认知杠杆 ...
1.可见性一个线程对共享变量值得修改,能够及时的被其他线程看到。 2.共享变量如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。 3.Java内存模型描述了Java程序中各种变量(线程共享变量)的访问规则,以及在jvm中将变量存储到内存和内存中读取出变量 ...