6

代码命名的简单讨论

 3 years ago
source link: http://www.cnblogs.com/net-china/p/14256616.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一、前言

题外:昨天看了某知乎用户的回答颇为感慨,大意是说现在主流是框架程序员越来越多,原理、架构、底层方面的越来越少;依赖框架快速出活的程序员工作机会比较多,公司招聘的时候也比较受欢迎。

不能说哪种优秀或者比较low。只要需要就必然有存在的价值,尤其是在快速迭代的今天,速度慢半拍可能就意味着淘汰。

今天说命名可阅读的代码。

二、可阅读的代码

写程序就像建造一栋高楼,包括方方面面,罗马不是一天建成的。软件开发领域,强调命名的重要性至今都不过时。代码开发阶段在大部分应用程序生命周期中占比都是很小的一个阶段,维护阶段是一个大头,后来的人员需要阅读你的代码<也可能包括未来的你>才能完成工作。很多时候,维护运营阶段阅读前人的代码,或者自己以前的代码会有一个感觉一个头两个大。

什么是好的命名,没有固定答案,不过有一个原则就是:遵循团队或者项目的命名规范,如果团队或者项目还没有统一的命名规范,首先去创建她,然后贯彻到底。相信百分之九十九的组织都有自己的命名规范。

关于注释也在存在争议,有的组织规定代码不能存在注释,有的组织要求必须写注释。优劣没有定论,不过好的命名可以是“自注释”,可以明确传达代码意图,描述逻辑。统一的命名规则可以使整个团队保持一致。

三、命名的一些实践

1、名字完整准确的表达其所代表的的含义、名字反应实际问题、名字“足够长”、限定词放在名字最后、

2、避免缩写或对缩写进行统一约定、使用约定对仗词<begin/end、min/max、up/down>等、使用有意义的循环下标

3、命名规则能够区分类名、常量、枚举、变量

以上简单罗列,更多实践,Google 一下。

四、一些例子

1、常见的多层结构中:业务逻辑层,IxxService、xxService  ;数据访问层,IxxDao  、xxDao 等,当然每个组织可能不一样

2、模式语言 xxFactory 、xxObserver、xxSingleton 等

3、.Net Framework 中API

4、代码片段

string add;  // person address
int a;  // person age

string address;
int age;

五、总结&推荐阅读

强调命名是一个古老的话题,但是从来都不过时。最后用一个问答,强调一下命名的重要性。

问:如何写出可阅读的代码,自注释代码? 答:遵循良好的命名实践。

推荐阅读:

1、《Code Complete》第11章 The Power Of Variable Names

2、How To Write Unmaintainable Code : https://github.com/Droogans/unmaintainable-code

3、阿里《Java 开发手册》 https://github.com/alibaba/p3c


Recommend

  • 35

    程序员 - @xuanwu - 在[对在代码中使用中文命名的质疑与回应]( https://www.v2ex.com/t/518311#reply4)中有问意义何在的, 正好看到[为何国内没有好的开源社区和氛围]( https://

  • 27
    • www.cyningsun.com 4 years ago
    • Cache

    如何代码命名

    There are only two hard things in Computer Science: cache invalidation and naming things. —— Phil Karlton 前言 开发人员习惯性的对设计、架构、微服务夸夸其谈,却很少关注设计、架构如何完完整整的落...

  • 8

    其他非英语母语国家在代码中使用母语命名的实践拾珠 - 吴烜2020的个人空间 - OSCHINA - 中文开源技术交流社区 ...

  • 7

    前言 俗话说得好,万事开头难。而对于前端 coder 来说,每次新项目、新需求来的时候,我想大家最苦恼的往往就是如何去命名,无论是项目名称、页面的文件名称亦或是代码中的方法名称,对于我来说,但凡名字想好了以后,我觉得需...

  • 4

    代码里的命名规则:错误的和正确的对比 – Android开发中文站你的位置:Android开发中文站 > Android开发 >

  • 5

    随着软件中第三方库的使用越来越多,我们经常会遇到全局命名空间被污染的问题,导致全局命名空间中组件之间的名称冲突。因此,我们需要使用命名空间来组织代码块,以便唯一标识变量、对象和类。在本文中,我们将讨论命名空间、何时需要它们以及如何使用...

  • 4

    由 乔梁 | 2021-03-05小心使用过长的命名创建长标识符很容易被带飞。虽然较长的命名常常让代码更加具有可读性,但是,如果名字过长,也能...

  • 2

    (4)500代码行代码手写docker-设置网络命名空间 本系列教程主要是为了弄清楚容器化的原理,纸上得来终觉浅,绝知此事要躬行,理论始终不及动手实践来的深刻,所以这个系列会用go语言实现一个类...

  • 2

    前置条件:需已安装vscode编辑器,编辑器下载地址为:https://code.visualstudio.com/ tips:安装操作简单,下载安装包后默认下一步即可完成。 如何安装: 方式...

  • 4

      您是否曾经为命名一个变量、方法或类而挣扎过?找到表达性和简洁性之间的完美平衡了吗?您并不孤单。我们通过 GitHub Copilot Chat 扩展(需要订阅)在最新的 Visual Studio 预览版中解决了这个普遍的挑战。人工智能支持的重命名建议,这个功能不只是建议名字;...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK