软件开发过程中最艰巨的任务是什么?达内软件开发部的工程师们发现他们大部分人认为在软件开发过程中最艰巨的任务其实不是代码。
珠海达内软件开发工程师们:写代码是一种锻炼,一种逻辑思维上的锻炼,相比于开发人员在日常工作中要执行的其他任务,它可显得可爱多了。如果你觉得自己才刚刚跨入这个行业,只能算个业余程序员,那么为了确保能跻身专业领域,有些障碍你必须得克服……
软件开发工程师
1.解释做了什么
解释软件开发过程是很让人崩溃的一件事。那些不会写代码的家伙可能在这一行有所了解,但是正如定义所说的,他们不会写代码。在他们眼中,我们就是一群待在昏暗的房间中弓着背噼里啪啦敲键盘的程序猿。
2.可视化解决方案
假设给定一组简单的——难听点说就是考虑不周的——需求,你需要制定数据存储库、代码结构、算法、通信协议,以及只要能解决业务问题就得去完成的各种技术内容。然后,还需要用一种通俗易懂,哪怕是外行人也能明白的方式解释出来,并在规定期限内交付给客户。
这个时候,那真的只能靠经验了。但是大多数程序员会低估时间,原因可能是因为他们只考虑了编码这部分而忽略了其他。
3.优化不足和过度优化之间的平衡
复杂的软件永远达不到完美的境界。我们不可能无限制地优化,这也是为什么软件项目从不在规定日期到来之前发布的原因。
另一方面,很多人都会抱有“先就这样吧——以后再来改进”的心态。现在这些代码是可以好好工作,但是这些人也明白这会成为明日的烦恼和失败。当然,你不会再来修复和调试了,它们会被留给下一个可怜的开发人员。
软件开发程序员
4.测试代码
既可以自己编写单元测试,也可以组团通过软件来测试,不过不要妄想能发现所有bug……
想要编写出好的单元测试是一件既繁琐又艰难的工作。在理想情况下,测试应该在软件开发项目开工之前就写好——但是要是我们先写这个的话,我们怎么向客户解释四个星期过去了为什么一点进程都没有?
单元测试不会突出显示每一个bug。虽然我们都希望能有一个专门的小组来编写测试然后积极去发现问题,但是由于现实条件的限制——成本控制和时间限制,这对于很多项目而言都是奢望,所以大都需要开发团队自己来编写测试。而他们在编写时总是会无意识地避免任何不妥当的边界情况。
程序员会用一种逻辑方式去解决问题,但是用户很少会这样做;所以有时候用户会帮我们找到一些我们自己察觉不出来或者根本想不到的问题。
5.和人打交道
上述任务通通可以总结为“如何与人打交道”。令人奇怪的是,非专业人士不会去指点飞行员应该如何驾驶飞机,也不会跑去和电工说我的房子需要重新布线等等,但是他们却非常喜欢在软件开发上面指手画脚,提供各种异想天开的点子。
珠海达内软件开发部工程师们:软件开发过程中需要工程师们认真、细心、各个环节要做到无缝对接。这样才能事半功倍!
-
开发工程师
+关注
关注
1文章
91浏览量
14930
发布评论请先 登录
相关推荐
评论