0

0

PHP如何编写易读的代码_php技巧

php中文网

php中文网

发布时间:2016-05-17 09:39:26

|

849人浏览过

|

来源于php中文网

原创

成功的开发团队要求队伍中的每一位成员遵守代码重用规则,这些规定把代码的重用性推到极至同时却不会显著降低开发人员的创造力和开发效率。如果编写和使用代码的开发人员遵守共同的程序命名规范代码和代码注释要求,那么代码的重用性就会得以大大提升。这些标准的起点是系统结构级的。你的功能规范应该在类、属性的名字、函数返回值以及其他关键程序元素的定义中反映这些标准。本文将就基本的命名规则和注释提出一些可行的建议,意图帮助读者开发自己的代码重用标准。 


大小写标准


在我们开始讨论各类程序要素命名的正确方式之前,先让我们定义区分元素的字符大小写的两种最常用方式,它们是:

Pascal规范—第1个字符大写,目标名中的每个单词的第1个字母也大写,比如InvoiceNumber或者PrintInvoice。其他的所有字符都小写。 
Camel规范—第1个字符不大写,但目标名中的每个单词的第1个字母大写,比如,invoiceNumber。其他的所有字符都小写。 
可是,采用字符大小写区分元素可能在对大小写不敏感的编程语言中引发问题。比方说,由于C#语言区分大小写,所以你可以调用私有变量employee,接着它所具有的公共属性Employee则可以被调用者所用。这些操作是完全合法的。但是,对Visual Basic来说就会产生错误,因为VB是不区分字母大小写的,以上两种元素在VB看来都是一回事。假如你在混合语言环境下工作,你只能指定某些规则要求开发人员合理利用多种语言阅读其他人开发的代码。


命名标准
假设我们采用了以上的大小写标准,现在就让我们了解一些通用程序元素的简单命名建议。


某些类设计为模拟真实世界的对象,就这些类来说,所选用的名字就应该反映真实世界的对象、具有单数名词的格式,比方Employee、 Invoice或者Timecard等。对内部类而言可以采用Pascal规范令结果类具有单数形式的名字,比如ThreadPool或者CustomColor等。类应当是单数的,这样它们的复数形式就可以代表同类的集合名,比如Employees数组等。

类的成员
采用C#以及其他大小写敏感编程语言的开发人员应当采用camel规范命名类成员的名字。这样做可以让开发者更易于区分内部变量的名字(name)和公共属性的名字(Name)。许多VB开发人员更喜欢采用匈牙利命名法为类成员起名,也就是在名字前面加上前缀表示变量的类型,比如sName就指的是string类型的Name变量。我认为,在使用VS.NET这样高级的开发环境下这样做是不必要的,因为在这种情况下系统鼠标停留在变量之上即可可自动显示变量的类型。我个人喜欢在类成员名前加上前缀:小写的字母m。这样内部变量就保存了足够的内部类信息:内部变量mName就正好代表了公共属性Name。

方法
方法应该用Pascal规范命名,同时用合理的方式说明他们的实施行为。比方说,给数据库添加雇员的方法可以命名为AddEmployee,而打印发票的方法则不妨命名为PrintInvoice。假如方法返回的是布尔值,那么方法名应该以动词开头以便用在if语句的时候其含义更明显。比如说,假如你有一个方法的功能是确定某位雇员是否符合公司401k计划的要求,那么你可以在If语句中调用IsEligible401k方法:If IsEligible401k then…

方法参数、返回值和变量
所有的方法参数、返回值和变量都应该采用Pascal规范命名,同方法名一样也应该能反映参数或者变量所代表的含义。这一点对参数方法而言特别重要,因为你在调用方法的时候智能感知(Intellisense)会返回参数名和参数类型。所有采用方法的开发人员都应该使用描述性的名字和类型,便于相互理解其含义。

控件
控件命名是开发领域一个经常引发争议的问题。虽然大多数人赞同不应该使用控件的默认名称,比如TextBox1或者Label1等等,但是,他们还反对按照变量的方式命名控件或者采用前缀表示控件的类型。我比较喜欢采用标准的三字母前缀命名窗体中控件的名字。比如说,保存姓氏和名字的文本框控件就不妨分别命名为txtLastName和txtFirstName。处理窗体数据的命令按钮则可以命名为cmdSubmit或者cmdCancel。其实,只要你能保证控件命名的一致性而且标准易于理解即可。

注释
注释代码对所有开发人员来说都是必要的。为了教授正确的注释技术,我就经常在自己的演示程序中添加注释代码。同时,为了简化注释过程,我建议开发人员首先编写注释说明他们想编写的程序。我首先会写注释说明程序中的过程、类或者其他程序要素,但对其具体工作原理不做阐述。然后我会编写一系列的注释代码描述过程的每一主要步骤或者类的元素。在编写了定义类或者说明过程的代码之后,我对各个外部变量、控件、打开的文件乃至其他过程所访问的元素文档化,对输入参数和返回值做简要说明。

如果你在使用C#开发程序,那么VS.NET环境已具有内置的工具帮助你把内部C# 注释转换为外部HTML文档。你可以在自己的文档中加上特殊的处理指示符而改变外部文档的表示方式。有关这方面的更多信息可以参考VS.NET内部帮助文件: ms-help://MS.VSCC/MS.MSDNVS/csref/html/vcoriXMLDocumentation.htm. 

AI小聚
AI小聚

一站式多功能AIGC创作平台,支持AI绘画、AI视频、AI聊天、AI音乐

下载

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

9

2026.01.12

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

102

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

59

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

139

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

91

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

473

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

50

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
c语言项目php解释器源码分析探索
c语言项目php解释器源码分析探索

共7课时 | 0.4万人学习

nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

php初学者入门课程
php初学者入门课程

共10课时 | 0.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号