代码可读性是计算机编程范畴中广泛存在的问题。这也是我们成为开辟者起重要进修的工作之一。本文会具体介绍在编写强可读性代码时最佳实践中最重要的一部分内容。
具有较强可读性的代码,能赞助你调试法度榜样,不让本身活得太累。
1 - 注释和文档
IDE(Integrated Development Environmnet,集成开辟情况)在以前数年中已经存在了很长时光。应用 IDE 注释代码比以往轻易得多。某些确切的注释标准可以让 IDE 和其它对象以不合的方法来完成注释。
看个示例:
我在这里添加到函数定义前的注释可以在应用函数的时刻显示出来,甚至在其它文件中应用这个函数也没问题。
在这些示例中,注释(或文档)的类型是基于 PHPDoc 的,应用的 IDE 是 Aptana。
2 - 保持一致的缩进
假设你已经知道代码须要缩进。不过值得留意的是,最好保持缩进样式一致。
缩绝代码的方法很多,这里最最常见的两种:
风格 1:
function foo() { if($maybe){ do_it_now(); again(); } else{ abort_mission(); } finalize();}
风格 2:
function foo(){ if($maybe) { do_it_now(); again(); }else{ abort_mission(); } finalize();}
我以前应用的风格 #2,但比来改为 #1 了。但这个问题只是一个偏好的问题。没有“最好”的风格来让每一小我都去遵守。实际上,最好的风格就是一致的风格。如不雅你是团队的一员,或者你在向某个项目供献代码,你就应当遵守项目中正在应用的风格。
5 - 保持一致的定名规范
function foo(){ // 放鄙人一行[译者注:示例中明明是放在与声明同业的,可能是作者笔误] if($maybe){ // 放在同一行 do_it_now(); again(); }else{ abort_mission(); } finalize();}
别的,请留意,缩进是用的 4 个空格而不是制表符。
这里是 Wikipedia 中不合缩进风格的示例。
当然,如不雅有人,比如 Vim 用户,想要在终端窗口中浏览你的代码,最好将代码行的长度限制在 80 个字符阁下。
3 - 避免显而易见的注释
注释代码异常棒;然则,如不雅注释只是简单的反复就显得多余了。看看这个示例:
// 获取国度/地区代码$country_code = get_country_code($_SERVER['REMOTE_ADDR']);// 如不雅国度/地区代码是 USif ($country_code == 'US'){// 在表单中显示“州”输入框echo form_input_state();}
如不雅文本是显而易见的,真的没须要在注释里再写一次。
如不雅你必定要在代率攀里写点注释,可以把它们归并在一行:
// 对美国用户显示“州”输入框$country_code = get_country_code($_SERVER['REMOTE_ADDR']);if ($country_code == 'US'){echo form_input_state();}
4 - 代码分组
某些义务往往不是几句代码就能解决的,那最好把这些义务代码分为不合的代码段,在它们之间添加一些空行。
下面是一个简单的示例:
缩进风格间并不老是会有明显的差别。有时刻,不合的规矩会产生混淆。比如,在 PEAR 编码标准中,前大年夜括号“{”与控制构造在同一行,但在函数定义中却须要换行。
PEAR 风格:
// get list of forums$forums = array();$r = mysql_query("SELECT id, name, description FROM forums");while ($d = mysql_fetch_assoc($r)){$forums[] = $d;}// load the templatesload_template('header');load_template('forum_list', $forums);load_template('footer');
这一点与我前面提到应用不合缩进风格的情况类似。如不雅项目中已经在应用某个商定,你应当遵守它。别的,某些说话平台往往会有一个特定的定名规范。比如在 Java 中,多半代码应用驼峰定名风格,而多半 PHP 法度榜样员应用下划线定名风格。
推荐阅读
功能:删除数据 为什么要在JS里写SQL?跟着营业复杂度的增长,前端页面可能出现一些数据逻辑复杂的页面,传统的js逻辑处理起来比较复杂,我们先看两个例子:比如多规格多库存商>>>详细阅读
本文标题:提升代码可读性的 10 个技巧
地址:http://www.17bianji.com/lsqh/37906.html
1/2 1