编程随想
隐喻,可能是第一个该思考的问题
本来觉得隐喻只是一种乐趣,无论是把甲虫隐喻成计算机中的错误还是将编程看作是建筑.
但是事实隐喻远远没有这么简单,《Coding Complete》花了一整章向我们解释隐喻的重要性,在作者看来将编程隐喻成建造房子是一个比较合适的做法.相较于播种.
宁可多花10%购买更坚固的材料,也比摩天大楼倒下要划算得多.
我想,类比为建房应该是一个比较公认的想法,否则计算机领域的许多词怎么会会和建筑领域一样.将程序员成为软件工程师,struct,project等词都是建筑领域常见的.
其中,有对时间的把握的类比
在建造帝国大厦时,每辆运料车运输时都留有15分钟的余地.如果某辆车没有在指定时间到位,则整个工期就会延误
这让我意识到,额外多花这15分钟非常关键,就像上学时常说的劳逸结合,没有10分钟的课间休息,又怎么会有40分钟的专心听课?
在这之前,我几乎没有对我的编程时间进行过评估与控制,也许是因为我只是新手,对自己的水平和编程难度没有很好的把握.现在我逐渐觉得,把握时间的能力就是自己在评估与控制之中提高的,因此,时间安排是编程中必须要做的一件事
代码重构
理解需求和目标
需要确定为何要重构和重构的目标,代码有质量问题,性能有瓶颈,提高代码可维护性(解耦合和扩展)
需要彻底理解所有的业务逻辑,保持项目重构前后的功能一致性
逐步进行
重构是一个渐进的过程,尽量避免大规模改动,需要保证每一次更改都处于可控状态,并且需要妥善测试其功能(划分小任务,递增式逐步进行)
规定代码风格并且努力保持整洁,提高代码质量
既然选择重构,那么代码质量这些最基本的点是一定要关注的
关注性能
注意重构可能对性能带来的影响,防止引入不必要的性能负担
尽量不要引入新功能
不要在重构的过程中忘记了重构的初衷
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.



