zoukankan      html  css  js  c++  java
  • 程序员最头疼的事:命名

    http://kb.cnblogs.com/page/192017/

    作者: Phil Johnson  来源: 伯乐在线  发布时间: 2013-11-05 21:53  阅读: 469 次  推荐: 3   原文链接   [收藏]  

      原文链接: Don’t go into programming if you don’t have a good thesaurus

      许多程序员认为编程时,如何命名不仅是他们面临的老大难问题,也是最重要的事情之一。

      上周,我发起了一个“程序员编程中的老大难问题”的投票,主要是基于最近Quora上的跟帖讨论。根据大家的反响和投票结果,有一项投票遥遥领先,稳居第一——对于软件开发人员来说,最大的难题是:如何命名(例如:给变量,类,函数和过程命名等等)。

      对于这个结果,我多少有点意外,因为作为一个多年的开发人员,我不会投给这一项(我想我会投给“修改或维护别人的代码”)。但是真正让我惊讶的是,看起来好像不怎么重要的命名居然排列第一,跟期待的结果实在差太远了。下面是投票结果的分布图。

      该结果是来自Quora问答网站和更早的Ubuntu论坛跟帖的4500个开发者的投票。“如何命名”一项的选票几乎是其它八项的投票结果的总和,哇!

      的确,这些基于自我筛选的群体的投票结果是完全不科学的。但是我认为这个结果还是有一定意义的,换句话说,如何命名的确是个很棘手的问题,许多非编程人员可能会意识不到。

      几年前在StackExchange社区里对于这个话题刚好有个跟帖,为了强调这一点,我引用了一些内容是关于程序员在编程中对于命名的的痛苦和纠结。

      “我确实在编程的时候花了很多时间在考虑如何命名。” 

      “我不得不同意命名是一门艺术。” 

      “如果你想要提高代码的可读性,命名的确很重要。” 

      我认为最后一条抓住了部分核心,解释了命名为什么会这么难,因为它太重要了。准确的命名可以提高代码的可读性,让人容易理解,方便调试,也给以后修改和维护你的代码的人带来方便。一旦开始做了,很快你会发现要想出一个简洁又准确的名字没那么容易。就像Jeff Atwood 所写的:

      “想出好的命名的确很难,但是有难的道理,因为好的命名需要只用一两个单词出表达你的根本意思。” 

      而且,许多人认为,正确的命名能帮你写出好的代码。如果不能为一个变量或者函数想出一个清晰又简洁的名字,那可能是你的代码有问题。那样的话,你就得考虑重写或者进行代码重构了。

      “通常,如果你无法想出一个合适的名字,意味着你的设计可能有问题。你的一个方法里是不是实现了太多的功能?或者你的类的封装,凝聚性不够强?” 

      “我的经验是如果无法给你的类想出一个合适的名字,大多数情况都是你的类有问题:你可能不需要这个类,它有点多余了” 

      “命名难也不见得是坏事儿,它可以迫使你去认真思考你的类到底想要实现什么功能。”

      长话短说:如果你想要学习编程,一定要给自己准备一本好词典。 

  • 相关阅读:
    51nod 1179 最大的最大公约数 (数论)
    POJ 3685 二分套二分
    POJ 3045 贪心
    LIC
    HDU 1029 Ignatius and the Princess IV
    HDU 1024 Max Sum Plus Plus
    HDU 2389 Rain on your Parade
    HDU 2819 Swap
    HDU 1281 棋盘游戏
    HDU 1083 Courses
  • 原文地址:https://www.cnblogs.com/code-style/p/3409962.html
Copyright © 2011-2022 走看看