作家
登录

提升代码可读性的 10 个技巧

作者: 来源: 2017-10-16 09:34:48 阅读 我要评论

在每段代码前添加注释可以加强视觉分别效不雅。

 

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里写SQL?跟着营业复杂度的增长,前端页面可能出现一些数据逻辑复杂的页面,传统的js逻辑处理起来比较复杂,我们先看两个例子:比如多规格多库存商>>>详细阅读


本文标题:提升代码可读性的 10 个技巧

地址:http://www.17bianji.com/lsqh/37906.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)