软件开发中八大难题
该新闻属智网互联原创作品!请勿盗链,及下载使用该文件用于任何商业行为。
各位新老客户朋友们大家好。软件开发中除了要进行编码的编写之外,开发者还会面临其他的问题,这些问题很大程度上会妨碍到软件开发项目的进程,所以一个优秀的开发者必须要协调并解决好以下这些问题。
1、向外行解释你在做什么
向外行节水软件开发的过程是及其困难的。虽然很多人知道编程,但它们终究是不会写程序的人,在他们看来,程序员的生活就是整体在一件小黑屋里趴在键盘前。
2、形象的说出解决方案
你会经常接到一些简洁的,但通常表意不明的需求。比如现在有一个商业方面问题的需求,你就要根据它来设计数据结构,程序架构,算法,接口和一些其他技术层面的东西来构造这个问题的解决方案。关键是,你要用大家都可以理解的语言,并在有限的时间内把解决方案讲给客户,但事实是很多开发者都做不好这件事情。
3、借鉴代码
很多种方案可以得出解决方案,但是借鉴他人的代码,在这个基础上编程需要花很多精力和时间,因为你要去思考他们是如何构思的。
4、评估工期
对于程序员来说,去评估一项从未做过的项目所需要花费的时间是及其困难的。你可能写过类似的代码,但现在的环境,问题和限制条件都发生了变化。虽然经验会有一些帮助,但通常应为程序员只考虑了编程方面的问题,而忽略了其他相关的事情。
5、在缺乏优化和过度优化中找平衡
复杂的软件永远做不到绝对的完美,因为总有更优的方案去完善它。你可以无限制的不断优化你的代码,这就是为什么项目不会提前完成。而另一方面,你有时也会有“这样就行了,我以后再去优化它”的想法。这样的程序目前可以正常运行,但明天可能就会出现错误。当然了,你也可以不用管它,等着下一个用它的程序员去优化。
6、测试
理想条件下,一个项目应该有一个单独的测试团队,他们可以积极主动的,尽可能的去找程序中的问题,但这对大多数项目来说是一件需要很大花销并耗时的事情,所以就让开发人员同时负责测试的任务。但是,这样的测试是考虑不到很多边界和极端情况的;程序员通常是在用理性的逻辑处理问题,但是客户通常不这样,他们会发现很多你意料之外的问题。
7、处理各种问题
你每天都和技术打交道,你也许是一个HTML或PHP程序员,但你可能还要解决一些其他问题,比如硬盘损坏,驱动冲突或软件报错。这些虽然都不是你的主要工作,但如果你不去解决这些问题,你就不能继续你的开发任务。
8、写开发文档
给项目写文档记录是一件费力耗时的工作,几乎没有开发者喜欢或擅长他,不愿意花时间阅读它们。
谢谢观看!