写完的程序一定要考虑:
1. 需求。
反过来分析一下,这段程序是否真的能够满足需求。
实际跑一下,看看是否按自己的预想进行。
可能需要考虑一下边界条件和异常测试,看看是否足够强壮。
2. 重构。
把自己的思路整理一下。确定一年后自己还能看懂。
不少人以别人能不能看懂为标准,窃以为这个“别人”大有商榷之处。很多技术上的小白看不懂我认为是正常的。对于需求不了解的人看不大懂也是正常的。不细心的人看不懂我认为一定程度也是正常的。
3. 测试。
是否需要/能够自动化测试。程序是否方便tester测试。
很多时候这一点很重要,决定了项目进行的效率。
4. 安全。
对于很多软件,安全性其实都是需要考虑的问题。
5. 性能。
性能一般放在最后,但也是经常需要考虑的问题。尤其是对于一些需要反复执行的代码。
性能问题一般是刚性需求。优化手段包括算法优化,设计优化(简化操作过程),以及界面优化(避免一些不合理操作造成过长时间的等待)。
写完的程序一定要优化嘛?
这个问题我的回答是,需要去考虑,但不一定每次都需要实行。
1. 需求。
反过来分析一下,这段程序是否真的能够满足需求。
实际跑一下,看看是否按自己的预想进行。
可能需要考虑一下边界条件和异常测试,看看是否足够强壮。
2. 重构。
把自己的思路整理一下。确定一年后自己还能看懂。
不少人以别人能不能看懂为标准,窃以为这个“别人”大有商榷之处。很多技术上的小白看不懂我认为是正常的。对于需求不了解的人看不大懂也是正常的。不细心的人看不懂我认为一定程度也是正常的。
3. 测试。
是否需要/能够自动化测试。程序是否方便tester测试。
很多时候这一点很重要,决定了项目进行的效率。
4. 安全。
对于很多软件,安全性其实都是需要考虑的问题。
5. 性能。
性能一般放在最后,但也是经常需要考虑的问题。尤其是对于一些需要反复执行的代码。
性能问题一般是刚性需求。优化手段包括算法优化,设计优化(简化操作过程),以及界面优化(避免一些不合理操作造成过长时间的等待)。
写完的程序一定要优化嘛?
这个问题我的回答是,需要去考虑,但不一定每次都需要实行。