卓有成效的程序员 阅读笔记 第二部分

第二部分 实践

本书第二部分列举了大量Java的内容,博主对Java不熟悉,有些暂时无法理解。

主要集中在第六章、第七章,先暂且记录下来,待熟悉Java语言后再回头看。

第八章 当个好公民

破坏封装:很多开发者不假思索的开发,破坏了封装的原意

构造函数:隐藏功能-告诉你怎样才能创建出这个类的合法对象

静态方法:不要创建全局变量,即使是对象层次的全局变量

第九章 YAGNI

YAGNI: You Aint Gonna need it 你不会需要它

预想开发会给软件造成伤害,因为它过早地给代码引入复杂度

如无必要,勿增复杂度

大船瓦沙的故事:软件开发首先是一场沟通博弈 http://gigix.thoughtworkers.org/2008/8/14/the-good-ship-vasa/

第十章 古代哲人

亚里士多德 事物本质性质与附属性质: 致力本质复杂性,去除附属复杂性

奥卡姆剃刀原理:如无必要,勿增实体 https://blog.csdn.net/cpongo3/article/details/88715108

笛米特法则:任何一个对象或方法,它只能调用以下对象:该对象本身,作为参数传进来的对象,在方法内创建的对象

第十一章 质疑权威

在开发团队和开发社区中推行通用标准是一件好事。

愤怒的猴子:任何开发习惯,仅仅 因为我们一直这样做 而存在是站不住脚的。

连贯接口:这违背了JavaBean规范,但却很有效

反目标:对问题显而易见的原因和深层次的原因进行转换,去解决更简单,却不那么明显的问题。

第十二章 元编程

元编程改变了你的语法辞典,给你提供了更多表达自己方式

它违反了编程的基本法则,不要编写可自我更改代码,使用不当的话这种方法很危险,但这是每个强大的特性都需要面对的现实

第十三章 组合方法和SLAP

组合方法要求所有公有方法看起来像一系列执行步骤的概要,而这些步骤的真正实现细节在一系列私有方法里面。

对于Java,不允许方法超过15行

最原始的代码看上去没有任何可以复用的部分,在强迫自己把它分解成原子片段以后,可复用的代码就会暴露出来

SLAP是单一抽象层次原则(Single Level of Abstraction Principle)的缩写

每个方法中的所有代码都应出于同一抽象层次,不应该在同一方法中既处理底层的数据库连接,又包含高层的业务代码。

把所有实现的细节封装在公共方法之外

第十四章 多语言编程

语言的变迁是为了适应周围环境的变化。

Java也有自己的问题。

未来可能 一种语言作为基础,一种开发效率高的语言完成日常任务,多种领域特定语言来贴近需求。现在其实已经是这样了,这个观点还是很有预见性的。

第十五章 寻找完美工具

掌握好正则表达式将为我们节省大量精力

如果能批量处理,就不要来回做重复的工作

用真正的脚本语言去完成自动化任务

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值