软件开发当中,程序员还会遇到哪些难题,让我们稍微说一下:
1、代码出现问题,该重写吗?
许多培训中的学员开始尝试写代码,往往会遇到一个问题,如果代码出现问题,需要重写吗?这么说吧,培训中练习的代码并不复杂,重写并没有什么关系,而对于自己写的代码,知道逻辑,修改起来也不难,但在实际工作中,遇上大项目,重写代码可是一件需要慎重的事情。
重写得出来的结果真的如你所愿吗?当你选择抛弃一个软件的知识和已经收集到的错误和修复时,同样的错误很可能也会出现在你的新代码当中,甚至你会犯下旧版本中的大部分错误,并带来一些新的错误。
我知道,很多程序员看别人写的代码很痛苦,心里总有一个念头让你“不要看,快扔掉”,但重写代码比起你重新整理那一堆混乱的代码还要痛苦,bug层出不穷,你就像面对着一只自己制造出来的怪兽,看到它要毁坏村庄,却又无可奈何。时间方面更值得考量,当你用上一年时间重写代码时,你确定你的软件还会再次受欢迎吗?所以,没有完善的重写计划,不要轻易重写代码。
2、如何看待软件开发合同,需要注意什么?
理工科的人通常心比较大,做事不很仔细,但做开发人员却需要心细,譬如开发合同的订立,无论是合理不合理的,你想新增或者去掉某些功能等等,不可以随意按照自己的意愿去行事,必须按照合同办事;确实需要改变时,协商更改条约,再拟定新合同或者增加补充合同。
为什么这么严谨?合同需要对未来几个月或者几年做出明确的说明,范围、内容、责任、费用、阶段付费、付费形式等等都需要一清二楚,白纸黑字的,才好开展工作。合同不明确,这是成为将来合作不愉快的导火线。
3、遇到技术难题怎么办?
有些程序员遇到技术难题一头热,相信自己总能克服,但是时间不等人,更加可行的方法是疑难外包,记得有人在做项目中遇到了wcf配置相关的问题,多方尝试都无法搞定,甚至在解决问题过程中有遇到新问题,最终不得不请求外援。结果是外援专家两个小时就搞定了,最后支付了五百元的辛苦钱,皆大欢喜。
我们相信问题早晚是可以得到解决的,但如果有一定数量的用户,时间就必须分秒必争,否则失去了信誉后,怎么更新、怎么完备的功能都无济于事了。
4、如何看待购置成熟的软件组件?
程序员在开项目会议时,通常会讨论到一个问题,那就是让你发表想法,如何看待某个软件组件,应不应该购买?面对这样的问题,你不需要慌张,这就需要计算时间成本,例如开发人员的工资加上公司运营费用、房租水电、测试成本等等,需要多长时间来开发,如果购置了这个软件组件,时间成本会降到多少,如此衡量,利害得失就自然出来了。
往往,购买了新组件的项目团队,因为把更多心思用在细处和实处,出来的产品可能会更优质一些。