优秀开发人员应具备的思想

来源:cx 发布时间:2013-07-29 17:17:02 点击数:
  记得刚毕业的时候,坚信以自己的技术可以进入任何一家软件公司,开始成为一名优秀的开发人员。然而工作了一段时间以后,我才意识到,还有很多事是我所不了解的,有很多知识在学校是学不到的。在工作的同时,一直努力学习一些我没学过的。一个优秀的开发人员,不仅仅要精通技术,下面谈谈我得看法。
  开发人员要清楚,你开发出来的程序一定要满足客户所有的需求,客户不在乎你使用哪些技术,他只在乎你的这些技术能不能给他带来价值。倘若为了最佳实践而在项目工程中过度坚持采用(某些)技术,而这些技术又无法给客户带来什么价值,那就放弃吧。我们一定不要忘记客户的立场,你开发出来的程序只是用来解决客户的实际问题,能解决问题的程序就是好程序。
  很多时候,开发人员总是不断的发表自己的想法,认为就应该这么来做。这些强大的自我意识造成了一些非技术性缺陷,我们很难发现我们做错了什么。其实我们都错了,只是错误的程度不一样。只有意识到这一点,才能敞开心胸去听听别人的意见,采用他们的想法,做出一个更好的解决方法。
  不要抱着侥幸的心理,当你不确定一件事时,如果你使用了“应该”这个词,那你就麻烦了。一定要去测试、调试并验证需求,然后得出确定的结论。
  bug永远存在,问题在于是不是很容易发现。
  没有完美的代码,所有的代码都是烂的,烂还是有等级之分的,但即便是我见过写得最好的代码,也是难以读懂的。这并不意味着把你的代码写得更好是没有意义的,恰恰相反,最好和最坏的代码还是有天壤之别的。
  事情若有可能出错,就一定会出错,保持简单的设计原则,没有必要的就舍弃吧。话说多了就容易出错,不是么?
  写代码只会占用我们所有工作时间的百分之二十,一个优秀的开发人员有着相当广泛而全面的技巧,很多时间他们是用来思考、调试、测试、开会、谈话,这些非常重要,能确保你写出来的代码真正的满足客户的需求。
  在你想要实现一种算法或者技术,而又毫无头绪时,不妨先去搜索别人已经实现了的例子,或者请教有经验的同事,他们可能已经做过类似的事情。无需花太多时间在这上面,工作讲究的是效率,这既能完成工作又能掌握。
  很多时候,客户都不知道他想要的是什么,他可能只会告诉你个需求或者想法,具体情况他就不知道了。而你要做的就是去除不确定因素,把客户的需求翻译成一个客户想要的应用程序(程序员把人类的语言翻译成电脑执行的代码)。