优雅编程之这样编写代码,你就“正常”了(十六)
2016-08-13 本文已影响266人
阿_毅
开心一笑
【糖对盐说:你为什老不干活啊,
盐说:因为人家很闲啊!】
提出问题
项目开发过程中,编程,重构,测试需要注意的几点???
解决问题
励志图片.png以下来自《程序员修炼之道》中自己的一些总结:
靠巧合编程
不依靠运气和偶然的成功,而要深思熟虑的编程
怎样深思熟虑的编程:
- 总是意识到你在做什么
- 不要盲目的编程
- 按照计划行事
- 依靠可靠的事物
- 为你的假定建立文档
- 不要只是测试你的代码,还要测试你的假定
- 为你的工作划分优先级。把时间花在重要的方面。
- 不要做历史的奴隶,不要让已有的代码支配将来的代码,如果不再适用,所有代码都可被替换。
重构
重写,重做,重新架构代码合起来称为重构。
代码需要演化,它不是静态事物。
不要对改动犹豫不决
代码若具有如下特征,则应该考虑重构:
- 重复(DRY原则违反)
- 非正交的设计
- 过时的知识
- 性能
- 就其核心而言,重构就是重新设计
早重构,常重构
重构要趁早,不要等毒瘤长大了,再切除
重构是一项谨慎,需要深思熟虑,小心进行的活动。
怎样进行利大于弊的重构:
- 不要试图在重构的同时增加功能
- 在开始重构之前,确保你拥有良好的测试。(尽可能经常运行这些测试,如果你的改动破坏了任何东西,你很快可以知道)
- 采取短小,深思熟虑的步骤:把某个字段从一个类移往另一个类,把两个类似的方法融合进超类中。
易于测试的代码
针对合约进行测试
我们喜欢把单元测试视为针对合约测试。
为测试而设计
编写单元测试
无论是小项目还是大项目,每个单元测试都应该放在容易找到它的位置。如果单元测试不容易找到,也就不会使用它。
使用测试装备
在面向对象的语言和环境中,你可以创建一个提供这些常用操作的基类。各个测试可以对其进行继承,并增加专用的测试代码。(说白了就是要对测试类进行重构,使其可复用和继承)
测试文化
测试你的软件,否则你的用户就得测试
邪恶的向导
不要使用你不理解的向导代码
就是说有些开发工具帮你生成代码,但是你要理解它,否则不要乱用。
读书感悟
来自《追忆逝水年华》(法国长篇小说)
- 有回忆才是完美人生。
- 当一个人不能拥有的时候,他唯一能做的便是不要忘记.
- 生命只是一连串孤立的片刻,靠着回忆和幻想,许多意义浮现了,然后消失,消失之后又浮现。
- 任何一样东西,你渴望拥有它,它就盛开。一旦你拥有它,它就凋谢。
- 尽管我们知道再无任何希望,我们仍然期待。等待稍稍一点动静,稍稍一点声响。
- 远远看去优美而神秘的人和事,只要拉近了看,就会明白它们原来既不神秘又不优美。
- 我现在才明白,凡属严重错误都有一个共同的性质:那就是没有克制感情的冲动。
其他
如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎转载,点赞,顶,欢迎留下宝贵的意见,多谢支持!