程序员的语文
我们是如何学习语文的?
- 咿呀学语
- 写字
- 背诵
- 组词
- 造句
- 写一段话
- 写文章
- 出书
我们是如何编程的?
- 学语法
- 写语句
- 写函数
- 写类
- 写组件
- 写系统
好文章或者好说都有哪些特点?
- 与读者产生共鸣,并且有所收获。
- 文章脉络结构清晰
- 字写的好看
好的程序都有哪些特点?
- 健壮性强
- 使用方便
作为程序员如何写出好的程序?
- 《代码大全》 => 思考
- 《代码简洁之道》 => 思考
- 《重构》 => 练习
- 《设计模式》=> 临摹
- 《XXX架构揭秘》 => 骨架
- 《一站到底》 => 实践出真知
- 《封神榜》=> +∞
类比介绍
- 《代码大全》好比新华字典
- 《代码简洁之道》好比楷书字帖
- 《重构》好比有意识的纠正字形
- 《设计模式》好比作文大全
- 《XXX架构揭秘》好比作文模板
- 《一站到底》好比不断地写文章公开让别人看
- 《封神榜》好比 我也不知道是什么
《重构》读后感
写程序步骤
两个不同的角度
1. 自顶向下 总体设计 => 层次划分 => 功能划分 => 类(接口) => 函数 => 语句块 => 语句 => 系统重构。
2. 自底向上 语句 => 语句块 => 函数 => 类(接口) => 设计模式 => 系统重构。
n种坏味道
从味觉上来说:众口难调,你觉得好吃,他未必觉得好吃。同理对于嗅觉来说,你闻起来臭,他闻起来确实香的。但是还是有大家公认的不好吃的东西和臭味道。
注释
- 注释太多,废话啰嗦
- 注释与代码不同步
- 关键点没有注释
函数
- 函数名称未表达其意思
- 参数列表过长
- 参数有多个返回值(out string msg, ref string txt)
- 过大的函数(一个函数只做“一件”事)
- 过大的类(单一职责原则)
重复或类似
- 重复代码块
- 类似的代码
- 被剔除或冗余类文件
- 数据泥团
不清不楚的关系
- 发散式的变化(一个类受多种变化影响)
- 散弹式修改(一种变化引起多个类相应修改)
- 依恋情结
- 令人迷惑的临时字段
- 中间人
- 狎昵关系
- 过度耦合的消息链
埋头单干的
- 被拒绝的馈赠(继承某个类,但子类和继承类的几乎没有关系)
- 夸夸其谈的未来性
其中有:幼稚的数据类、数据泥团、不完美类库、平行继承体系、基本类型偏执,这几类都觉得还ok,更多的是结构层面的问题。

浙公网安备 33010602011771号