<listing id="62mou"><object id="62mou"></object></listing>
    <output id="62mou"><pre id="62mou"><dd id="62mou"></dd></pre></output>
  1. 新闻中心

    EEPW首页 > 牛人业话 > 写代码不写注释?!无注释主义了解一下~

    写代码不写注释?!无注释主义了解一下~

    作者:天雷君时间:2018-09-17来源:电子产品世界收藏

    据说,共产党员入党时需要面向党旗宣读誓言,在庄严、肃穆的气氛中,宣誓人怀抱着拳拳报国之心,压抑着胸中的激荡不已,热泪盈眶、目光坚定地朗读简洁有力的誓言,沉甸甸的誓言中有一句话特别鼓舞人心:为共产主义奋?#20998;?#36523;。

    本文引用地址:http://www.09140960.com/article/201809/391975.htm

    “主义”实在是一个好东西,它看似虚无缥缈,却可以指导国家和人民的工作和生活。当今社会正处于剧烈变革之中,各种主义粉墨登场,占据了不同群体的精神世界,犬儒主义、乐观主义、民本主义、民族主义、实用主义、贸易保护主义、自由主义、?#26102;?#20027;义、社会主义、达达主义、完美主义、教条主义等等,不一而足,每一个主义承托着一个思想世界,各种主义让我们获得新知,受到教益,笔者在多年的科研工作生涯中摸爬滚打,一路荆棘,?#27493;?#28176;在写方面形成了自己的主义-无主义!

    1

    有人说,?#31995;?#32473;你关上一?#35753;牛?#24517;然会为你开启一?#21364;埃?#31508;者?#28304;?#37329;句颔首低眉,深以为然。就拿我来说吧,为人木讷,不善言谈,典型一个三脚跺?#24576;?#19968;个屁来的闷葫芦,但是又颇喜写作,虽然文?#26159;?#20339;,却也经常文思涌动,恨不能剥皮为纸,以血为墨,折骨为笔,写它个一死方休。

    笔者不仅以文字记录工作生活、思想感悟,曾经,还以为田,笔耕不辍,到了不写就不写的地步。当然,笔者的也难脱俗套,范畴基本上只限于解释代码的设计思路、具体实现的注意事项、关键变量的作用、函数调用?#38382;?#30340;说明等内容。时过境迁,当时的心境也已难寻,现在想来,当时之所以要写注释,一方面是循规蹈矩随大流,别人都写咱也写,另一方面,很大程度上是下意识地以文字代替语言,就好像要给他人解释代码,生怕哪段代码没有注释,无法卸掉口头给他人讲代码的责任一般。

    2

    这个世界?#22836;?#33258;由散漫的人,也同时在?#22836;?#24490;规蹈矩之人。人通过各种教条给自己设置了多个条条框框,在编织的牢笼里自得其乐,也必然会受到桎梏自吞苦果。

    “注释?#26412;?#26159;这样一个牢笼。

    星爷曾经说过,能力越大,责任就越大。随着技术水平的日益提高,领导开始将更加复杂艰巨的任务放到我的肩头,肩负领导嘱托,怀抱精忠报国之心,我写的代码?#37096;?#22987;越来越多,越来越复杂了,同时,代码里的注释也慢慢增多了。

    写代码自有其客观规律,那就是:需要不断地修改、完善、优化。就像在?#22659;?#20013;不断变换各种泳姿一样,笔者孜孜不倦地调整、打磨代码,看着代码日益精益、完美,颇有一种乐在其中、虽九死而犹未悔的体会,以至于代码慢慢地变得面目全非,而注释基本上依然?#35752;?#22320;保持着最初的模样,就好似已然开始自由?#33606;?#35828;明书却还是蛙泳的动作讲解,自由泳是?#20004;?#25484;,蛙泳是翻脚掌,欲?#24576;?#20111;,可得乎?!

    3

    楞严经中说:如人以手,指月示人。彼人因指,当应看月。若复观指以为月体,此人岂唯亡失月轮,亦亡其指。就是说,假如有人用手指着月亮给你看,你应该顺着手指的方向去看月亮,如果你不看月亮,反而仔细地研?#31185;?#36825;只纤纤玉手那纤细玉润的手指来,多半会像“不知妻美”的东哥那样失了分寸,动心而忍不了性的。

    注释就是那根手指,代码才是那弯明月。

    楞严经这段话的真正意思是:我们学习佛陀的经典,要通过这些语言文字,体悟它背后所蕴含的深深义理,?#30475;?#20041;理指示,明悟我们的清净佛心。不能执着在语言文字上,以为那就是佛心,就是佛法。那就永远找不到清净佛心了,因为把语言文字当作佛心,当作佛法,其实,已经失去了佛心真正的大圆满、大具足、大光明、大无碍了!

    不同的是,代码的变化总是在不经意间?#37027;?#21457;生的,曾?#36127;?#26102;,注释这根手指所指向的已经不是最新代码这颗明月了,我本将心向明月,奈何明月照?#30331;?#21834;!

    ?#28909;?#27880;释很难跟得上代码的变化,为什么那么多技术大牛都像模像样地给后晋菜鸟们谆谆教诲,告诫他们注释很重要,要养成写注释的习惯呢?我想主要原因应该可以归结到大多数员都不写文档的坏习惯上来。员这个群体大抵都没有多少忠君思想,跳槽也是?#39029;?#20415;饭,无论是小白还是大牛,都不可避免地碰到接手别人代码的情形。从代码传承的?#23884;齲?#25551;述性强的注释可以起到帮助理解他人代码、尽快上?#20013;?#25913;原有代码的作用。

    人在江湖飘,谁能不挨刀,我相信很多人都遭遇过受困于别人天书般的代码望天长叹的时刻,那种无奈和抓狂实在刻骨铭心,所以,?#27704;?#20154;利己的?#23884;齲?#37117;希望别人能写注释,而且写得越详细越好,最关键的,一定要和代码对应起来,不能?#30475;?#19981;对马嘴。

    可是,如果代码本身就可以解释自己呢?

    如果说,注释面对?#35828;?#19990;界,代码直接面向机器的世界,那么,如果代码本身既能面对人又能面对机器世界呢?如果注释充当的是人-机器之间的桥梁的话,那么,何不直接让代码充当这个桥梁呢?

    据说孩子出生的时候,每对?#25913;?#37117;会抓耳挠腮,反复掂量斟酌孩子的起名,过程之艰不忍描述。而想要写出阅读性强的代码来,对函数、变量的起名同样需要操碎了心,函数什么作用,变量干嘛用的,函数名称能涵盖它实现的所有作用吗,相似变量名称之间的歧义怎么解决,源文件怎么组织,函数长度怎么约束,枚举怎么定义,这些都直接影响代码的阅读性。这还仅仅是代码层面,设?#21697;?#26696;层面呢?如果模块化做得不够好,模块之间耦合性强,改这里影响那里,不写注释把这些隐患描述出来,怎么能够保证之后正确修?#21738;兀?/p>

    所以,不是不可以不写注释,而是不写注释,就要孜孜于提高代码的阅读性,靠代码本身解释自己,这样实在是太难了!

    可是,谁的人生又是轻松愉快的呢?坚持贯彻无注释主义,就可以破釜沉舟,?#30772;?#33258;己写出模块化、结构化、可灵活修改、鲁棒性强、阅读性好的代码来,正所谓置之死地而后生也!

    后记

    也许,人本来就是很难团结的,员这个群体总是很容易分出多个阵营出来,在写不写注释上,也是仁者见仁智者见智,笔者只是抛砖引玉,并不代表唯一?#26082;?#30340;观点,科学自有其客观规律,不容触犯,但同时,科学的大门异常宽广,容得你犯下任?#26410;?#35823;。对于程序员这个群体,洒家始终怀有尊?#31383;?#25140;的情愫,所以,?#28909;?#26412;文有所冒犯,还请各位兄弟姐妹们见谅。



    关键词: 代码 注释 程序

    评论

    技术专区

    关闭
    贵州11选5app下载
      <listing id="62mou"><object id="62mou"></object></listing>
      <output id="62mou"><pre id="62mou"><dd id="62mou"></dd></pre></output>
      1. <listing id="62mou"><object id="62mou"></object></listing>
        <output id="62mou"><pre id="62mou"><dd id="62mou"></dd></pre></output>
      2. 52期曾道人特码图 香港六合彩曾道人 全無錯六肖中特 云南快乐十分前三走势 海南体彩论坛4十1 福彩快乐10分玩法介绍 dq8赌场兑换 河北时时彩qq群是骗局 新时时彩平台怎么样 世界杯足彩进球彩 上海快3走势图1000 平特一肖大公开提供 山东时时彩销售 甘肃11选5走荐号 新疆十一选五电脑版