热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

名字很重要

是什么在编程中,我们要将命名视为最重要的课题,谨慎对待。“命名”这一行为和它的产物“名字”都具有非常重要的价值。命名取了一个合适的名字意味着元素被正确理解并被正确地设计了出来。相反

是什么

在编程中,我们要将命名视为最重要的课题,谨慎对待。

“命名”这一行为和它的产物“名字”都具有非常重要的价值。




  • 命名

取了一个合适的名字意味着元素被正确理解并被正确地设计了出来。相反,如果取的名字不合适,就证明程序员还没有充分理解该元素的作用


  • 名字本身

程序员之间通过代码进行交流时,名字传递的信息是最多的。

写代码的人和读代码的人很少能站在一起实时进行对话。程序员之间大多通过代码进行交流,一旦名字不够贴切,代码上的沟通就会出现障碍。

为了让这种非实时对话能够顺畅进行,我们必须最大限度地在名字上下功夫。

为什么

名字是面向代码阅读者的“用户界面”。各元素都有适当名字的代码能有效传达其意图,让人充分理解某个东西是怎么做出来的。

以给函数命名为例,名字恰当易懂的函数能通过名字表达其职责,这有助于隐藏函数的内部处理。从结果来看,有以下好处。


  • 在阅读代码时,只看函数名就能大致掌握其内部处理,因此可以跳着阅读内部代码。

  • 在编写代码时,函数名能帮我们理解该函数的目的以及用法,使函数调用变得简单。对编写完的代码来说,恰当的名字起到了说明作用,使代码的可读性大大提高。

程序员并不是因为想读代码才去读的,在充分理解代码之后对其进行修改或添加功能才是他们真正的目的。在阅读代码时,混乱的名字会占用所有的脑部资源,妨碍原本应该进行的作业,使程序员无法着手处理问题。

琢磨名字需要花费很多精力,要想取一个恰当的名字,我们得有强大的思考能力,还要舍得花时间。相反,随便取一个名字不仅不会影响函数的运行,还能节约时间。

不恰当的名字会让代码“负债”,此后,只要代码还在使用,读代码的人、用代码的人都将会受到负面影响。

怎么做

编程要先从名字入手,先给代码中会出现的各个元素取一个能够准确表达意图的名字。

在编写代码的过程中也要时常站在代码使用者和阅读者的角度命名。具体来说,注意以下几点:


  • 名字中尽量多包含信息。将名字视为简短的注释有助于将必要的信息添加进去,可以多准备几个名字,从中选择最合适的一个,这样能进一步提高名字的质量。

  • 名字不能有歧义。命名之后,多问自己几遍这个名字是否有歧义

  • 名字说明的是效果和目的,而不是手段。

  • 可以通过先写测试程序后,后写处理的方式检查一下自己取的名字是否合适。

  • 名字要能念出来,除了便于现实对话之外,还能减轻阅读代码时大脑的负担

  • 名字要能搜索出来,名字如果是一个字母或一个数字,搜索时就会产生无数个结果,给代码的解析带来额外的负担。



推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文讨论了同事工资打听的话题,包括同工不同酬现象、打探工资的途径、为什么打听别人的工资、职业的本质、商业价值与工资的关系,以及如何面对同事工资比自己高的情况和凸显自己的商业价值。故事中的阿巧发现同事的工资比自己高后感到不满,通过与老公、闺蜜交流和搜索相关关键词来寻求解决办法。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
author-avatar
doudou888公馆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有