在每段代码前添加注释可以加强视觉分别效不雅。
PHP 本身有时刻并不遵守一致的定名规范:
-
strpos() vs. str_split()
-
imagetypes() vs. image_type_to_extension()
起首,名字应当有单词典界线。下面是两种风行的选择:
-
驼峰风格(camelCase):除第一个单词外每个单词典第一个字母都大年夜写。
-
下划线(underscores): 在悼?翠应用下划线分隔,比如:mysql_real_escape_string()。
这些收集也可以混淆使得。有些开辟者爱好对过程函数和类应用下划线风格,但对类办法应用驼峰风格:
class Foo_Bar { publicfunctionsomeDummyMethod(){}
再强调一下,没有“最好”的风格,保持一致就好。
6 - DRY 原则
DRY 代表不要反复你劳动(Don't Repeat Yourself)。也被称为 DIE:复制是弗成接收的(Duplication is Evil)。
该原则规定:
“每个常识必须在一个体系内具有一个独一的、明确的、威望的表示。”
大年夜多半应用法度榜样(或通用的计算机)的目标是使反复的义务变得主动化。这个原则应当在所有的代码中保存,包含 Web 应用法度榜样中。同一段代码不该该几回再三地被反复。
例如,大年夜多半 Web 应用法度榜样由很多页面构成。这些页面很可能包含通用的元素。标题和页脚平日是最佳证实。将这些页眉和页脚在每个页面中复制一份并不是一个好主意。 Jeffrey Way 在此说清楚明了如安在 CodeIgniter 中创建模板。
$this->load->view('includes/header'); $this->load->view($main_content); $this->load->view('includes/footer');
functiondo_stuff(){// ...if (!is_writable($folder)){returnfalse;}if (!$fp = fopen($file_path, 'w')){returnfalse;}if (!$stuff = get_some_stuff()){returnfalse;}if (fwrite($fp, $stuff)){// ...} else{returnfalse;}}
7 - 避免深嵌套
过多的嵌套层次会使代码变得难以浏览和跟踪
functiondo_stuff(){// ...if (is_writable($folder)){ if ($fp = fopen($file_path, 'w')){ if ($stuff = get_some_stuff()){ if (fwrite($fp, $stuff)){// ... } else { returnfalse; } } else{
为了进步可读性,平日会经由过程修改代率攀来削减嵌套的层级:
8 - 限制行长度
人眼在浏览窄长的列式文本时感到更舒适,这也是为什么报纸的文┞仿都是这个样子:
避免代码行程度过长是一种优胜的变成习惯
//bad$my_email->set_from('test@email.com')->add_to('programming@gmail.com')->set_subject('Methods Chained')->set_body('Some long message')->send(); // good$my_email ->set_from('test@email.com') ->add_to('programming@gmail.com') ->set_subject('Methods Chained') ->set_body('Some long message') ->send(); // bad$query= "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING(users.id, user_posts.user_id) WHERE post_id = '123'"; // good$query= "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING(users.id, user_posts.user_id) WHERE post_id = '123'";
9 - 文件和文件夹的组织
大年夜技巧上讲,你可以在单个文件中编写全部应用法度榜样的代码。然则,这对浏览和保护来说将是一个恶梦。
在我的第一个编程项目中,我懂得了创建“包含文件”的作法。不过,我还没有接触过长途组织。我创建了一个“inc”文件夹,个中包含两个文件:db.php 和 functions.php。跟着应用的扩大,functions 文件也变得宏大年夜和弗成保护。
最好的办法之一就是应用框架或者模仿其文件夹构造。下面是 CodeIgniter 的代码构造:
10 - 一致的临时变量定名
平日,变量应当是描述性的,并且包含一个或多个单词。然则,这并不必定实用于临时变量。它们可以短到单个字符的长度。
对于具有雷同感化的临时变量,应用一致的定名是一个很好的做法。以下是我在代码中常用的几个示例:
推荐阅读
功能:删除数据 为什么要在JS里写SQL?跟着营业复杂度的增长,前端页面可能出现一些数据逻辑复杂的页面,传统的js逻辑处理起来比较复杂,我们先看两个例子:比如多规格多库存商>>>详细阅读
本文标题:提升代码可读性的 10 个技巧
地址:http://www.17bianji.com/lsqh/37906.html
1/2 1