软件开发随笔,我觉得目前,这每一句话我都应该牢记。
首先,非常重要的是需求分析。
要彻底弄明白目前客户能表达出来的需求,功能的,性能的,还有技术的,还有其他的。本来客户就难以表达清楚所有需求,如果我们在没有好好去分析,那么结果只能是我们理解的和客户想要的想去甚远。
功能项要求我们肯定会记得,性能需求却经常忘记了!多少数据量,什么硬件及网路环境下,多少人访问,达到什么样的速度。
还有一点,客户的不合理的要求我们有责任提出来并说服客户取消这些要求。
然后就是设计。
这一步要有足够的时间来做,即使我们用的是敏捷开发,我觉得我们也要花足够的时间来理清思路,然后写代码。有一个好的架构是绝对必要。如果没有好的工程师,我的建议是这个软件就不要去做,它必将劳民伤财、不得善终。
不断重构。设计永远都不是合理的,所以重构永远都是必要的。在项目进度计划的时候这一时间要安排好。
代码审阅,让别人去阅读你写的代码,他会替你发现你自己无论如何都想不到的问题。
写高质量的代码。一天写了几百行代码,但是很差,还不如只写十行。
测试
测试是一件非常困难的事情。如果一个稍微大一点的项目是手工测试的,那么这个项目的质量将是无法控制的。
测试要从需求开始。
享受生活
千万千万不要去应付你的经理,不要为了赶进度而牺牲质量,不要加班。去享受你的工作,去开发出你心爱的软件!开心比什么都重要!遇到问题的时候,心平气和的与你的经理沟通。如果对你的经理不满意,请告诉我。
我需要掌握的领域
1. 软件项目中人的问题。
2. 软件开发的问题。
3. 市场问题。
案头必备的书:
人月神化
人件
等软件经典著作。