对于软件开发人员来讲,最大的难题是:如何命名(例如:给变量,类,函数和过程命名等等)。html
该结果是来自 Quora 问答网站和更早的 Ubuntu 论坛跟帖的 4500 个开发者的投票。如何命名一项的选票几乎是其余八项的投票结果的总和。linux
的确,这些基于自我筛选的群体的投票结果是彻底不科学的。可是我认为这个结果仍是有必定意义的,换句话说,如何命名的确是个很棘手的问题,许多非编程人员可能会意识不到。程序员
对于这个结果,我多少有点意外,由于做为一个多年的开发人员,我不会投给这一项(我想我会投给“修改或维护别人的代码”)。可是真正让我惊讶的是,看起来好像不怎么重要的命名竟然排列第一,跟期待的结果实在差太远了。编程
关于程序员在编程中对于命名的的痛苦和纠结以下观点:函数
我认为最后一条抓住了部分核心,解释了命名为何会这么难,由于它过重要了。准确的命名能够提升代码的可读性,让人容易理解,方便调试,也给之后修改和维护你的代码的人带来方便。一旦开始作了,很快你会发现要想出一个简洁又准确的名字没那么容易。学习
Jeff Atwood 曾说:“想出好的命名的确很难,可是有难的道理,由于好的命名须要只用一两个单词出表达你的根本意思。”网站
并且,许多人认为,正确的命名能帮你写出好的代码。若是不能为一个变量或者函数想出一个清晰又简洁的名字,那多是你的代码有问题。那样的话,你就得考虑重写或者进行代码重构了。设计
“一般,若是你没法想出一个合适的名字,意味着你的设计可能有问题。你的一个方法里是否是实现了太多的功能?或者你的类的封装,凝聚性不够强?”调试
“个人经验是若是没法给你的类想出一个合适的名字,大多数状况都是你的类有问题:你可能不须要这个类,它有点多余了”htm
“命名难也不见得是坏事儿,它能够迫使你去认真思考你的类到底想要实现什么功能。”
长话短说:若是你想要学习编程,必定要给本身准备一本好词典。
对于开发人员来讲什么是最难的?你又有什么好的观点呢?