精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

提升代碼可讀性的10個技巧

大數據 開發
代碼可讀性是計算機編程領域中普遍存在的問題。這也是我們成為開發者首先要學習的事情之一。本文會詳細介紹在編寫強可讀性代碼時最佳實踐中最重要的一部分內容。

[[208015]]

具有較強可讀性的代碼,能幫助你調試程序,不讓自己活得太累。

代碼可讀性是計算機編程領域中普遍存在的問題。這也是我們成為開發者首先要學習的事情之一。本文會詳細介紹在編寫強可讀性代碼時***實踐中最重要的一部分內容。

1 – 注釋和文檔

IDE(Integrated Development Environmnet,集成開發環境)在過去數年中已經存在了很長時間。使用 IDE 注釋代碼比以往容易得多。某些確切的注釋標準可以讓 IDE 和其它工具以不同的方式來完成注釋。

看個示例:

 

我在這里添加到函數定義前的注釋可以在使用函數的時候顯示出來,甚至在其它文件中使用這個函數也沒問題。

下面是另一個示例,關于調用一個第三方庫的函數:

 

 

在這些示例中,注釋(或文檔)的類型是基于 PHPDoc 的,使用的 IDE 是 Aptana。

2 – 保持一致的縮進

假設你已經知道代碼需要縮進。不過值得注意的是,***保持縮進樣式一致。

縮進代碼的方式很多,這里最最常見的兩種:

風格 1:

  1. function foo() { 
  2.     if($maybe){ 
  3.         do_it_now(); 
  4.         again(); 
  5.     } else
  6.         abort_mission(); 
  7.     } 
  8.     finalize(); 
  9.  

風格 2:

  1. function foo(){   
  2. if($maybe) {   
  3.  do_it_now(); 
  4.         again(); 
  5.     }else{   
  6.  abort_mission(); 
  7.     } 
  8.     finalize(); 
  9.  

我以前使用的風格 #2,但最近改為 #1 了。但這個問題只是一個偏好的問題。沒有“***”的風格來讓每一個人都去遵循。實際上,***的風格就是一致的風格。如果你是團隊的一員,或者你在向某個項目貢獻代碼,你就應該遵循項目中正在使用的風格。

縮進風格間并不總是會有明顯的區別。有時候,不同的規則會產生混淆。比如,在 PEAR 編碼標準中,前大括號“{”與控制結構在同一行,但在函數定義中卻需要換行。

PEAR 風格:

  1. function foo(){                     
  2. // 放在下一行[譯者注:示例中明明是放在與聲明同行的,可能是作者筆誤] 
  3.     if($maybe){      
  4.       // 放在同一行 
  5.         do_it_now(); 
  6.         again(); 
  7.     }else
  8.        abort_mission(); 
  9.     } 
  10.     finalize(); 
  11.  

另外,請注意,縮進是用的 4 個空格而不是制表符。

這里是 Wikipedia 中不同縮進風格的示例。

3 – 避免顯而易見的注釋

注釋代碼非常棒;但是,如果注釋只是簡單的重復就顯得多余了。看看這個示例:

  1. // 獲取國家/地區代碼 
  2. $country_code = get_country_code($_SERVER['REMOTE_ADDR']); 
  3. // 如果國家/地區代碼是 US 
  4. if ($country_code == 'US'){ 
  5. // 在表單中顯示“州”輸入框 
  6. echo form_input_state(); 
  7.  

如果文本是顯而易見的,真的沒必要在注釋里再寫一次。

如果你一定要在代碼里寫點注釋,可以把它們合并在一行:

  1. // 對美國用戶顯示“州”輸入框 
  2. $country_code = get_country_code($_SERVER['REMOTE_ADDR']); 
  3. if ($country_code == 'US'){ 
  4. echo form_input_state(); 
  5.  

4 – 代碼分組

某些任務往往不是幾句代碼就能解決的,那***把這些任務代碼分為不同的代碼段,在它們之間添加一些空行。

下面是一個簡單的示例:

  1. // get list of forums 
  2. $forums = array(); 
  3. $r = mysql_query("SELECT id, name, description FROM forums"); 
  4.  
  5. while ($d = mysql_fetch_assoc($r)){ 
  6. $forums[] = $d; 
  7.  
  8. // load the templates 
  9. load_template('header'); 
  10. load_template('forum_list', $forums); 
  11. load_template('footer');  

在每段代碼前添加注釋可以加強視覺分離效果。

5 – 保持一致的命名規范

PHP 本身有時候并不遵循一致的命名規范:

  • strpos() vs. str_split()
  • imagetypes() vs. image_type_to_extension()

首先,名字應該有單詞的邊界。下面是兩種流行的選擇:

  • 駝峰風格(camelCase):除***個單詞外每個單詞的***個字母都大寫。
  • 下劃線(underscores): 在單詞間使用下劃線分隔,比如:mysql_real_escape_string()。

這一點與我前面提到使用不同縮進風格的情況相似。如果項目中已經在使用某個約定,你應該遵循它。另外,某些語言平臺往往會有一個特定的命名規范。比如在 Java 中,多數代碼使用駝峰命名風格,而多數 PHP 程序員使用下劃線命名風格。

這些網絡也可以混合使得。有些開發者喜歡對過程函數和類使用下劃線風格,但對類方法使用駝峰風格:

  1. class Foo_Bar { 
  2.     publicfunctionsomeDummyMethod(){ 
  3.  

再強調一下,沒有“***”的風格,保持一致就好。

6 – DRY 原則

DRY 代表不要重復你勞動(Don’t Repeat Yourself)。也被稱為 DIE:復制是不可接受的(Duplication is Evil)。

該原則規定:

“每個知識必須在一個系統內具有一個唯一的、明確的、權威的表示。”大多數應用程序(或通用的計算機)的目標是使重復的任務變得自動化。這個原則應該在所有的代碼中保留,包括 Web 應用程序中。同一段代碼不應該一再地被重復。

例如,大多數 Web 應用程序由許多頁面組成。這些頁面很可能包含通用的元素。標題和頁腳通常是***證明。將這些頁眉和頁腳在每個頁面中復制一份并不是一個好主意。 Jeffrey Way 在此解釋了如何在 CodeIgniter 中創建模板。

  1. $this->load->view('includes/header');    
  2. $this->load->view($main_content);    
  3. $this->load->view('includes/footer');  

7 – 避免深嵌套

過多的嵌套層次會使代碼變得難以閱讀和跟蹤

  1. functiondo_stuff(){ 
  2. // ... 
  3. if (is_writable($folder)){ 
  4.     if ($fp = fopen($file_path, 'w')){ 
  5.         if ($stuff = get_some_stuff()){ 
  6.             if (fwrite($fp, $stuff)){ 
  7. // ... 
  8.    } 
  9.       else 
  10.    { 
  11.     returnfalse; 
  12.    } 
  13.   } 
  14.   else 
  15.  

為了提高可讀性,通常會通過修改代碼來減少嵌套的層級:

  1. functiondo_stuff(){ 
  2. // ... 
  3. if (!is_writable($folder)){ 
  4. returnfalse; 
  5. if (!$fp = fopen($file_path, 'w')){ 
  6. returnfalse; 
  7. if (!$stuff = get_some_stuff()){ 
  8. returnfalse; 
  9. if (fwrite($fp, $stuff)){ 
  10. // ... 
  11.   else 
  12. returnfalse; 
  13.  

8 – 限制行長度

人眼在閱讀窄長的列式文本時感覺更舒適,這也是為什么報紙的文章都是這個樣子:

 

避免代碼行水平過長是一種良好的變成習慣

  1. //bad 
  2. $my_email->set_from('test@email.com')->add_to('programming@gmail.com')->set_subject('Methods Chained')->set_body('Some long message')->send();    
  3. // good 
  4. $my_email    
  5. ->set_from('test@email.com')     
  6.   ->add_to('programming@gmail.com')     
  7.   ->set_subject('Methods Chained')    
  8.   ->set_body('Some long message')    
  9.   ->send();    
  10. // bad 
  11. $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'";    
  12. // good 
  13. $query= "SELECT id, username, first_name, last_name, status     
  14.   FROM users    
  15.   LEFT JOIN user_posts  
  16.   USING(users.id, user_posts.user_id)     
  17.   WHERE post_id = '123'";  

當然,如果有人,比如 Vim 用戶,想要在終端窗口中閱讀你的代碼,***將代碼行的長度限制在 80 個字符左右。

9 – 文件和文件夾的組織

從技術上講,你可以在單個文件中編寫整個應用程序的代碼。但是,這對閱讀和維護來說將是一個噩夢。

在我的***個編程項目中,我懂得了創建“包含文件”的作法。不過,我還沒有接觸過遠程組織。我創建了一個“inc”文件夾,其中包含兩個文件:db.php 和 functions.php。隨著應用的擴展,functions 文件也變得龐大和不可維護。

***的方法之一就是使用框架或者模擬其文件夾結構。下面是 CodeIgniter 的代碼布局:

 

10 – 一致的臨時變量命名

通常,變量應該是描述性的,并且包含一個或多個單詞。但是,這并不一定適用于臨時變量。它們可以短到單個字符的長度。

對于具有相同作用的臨時變量,使用一致的命名是一個很好的做法。以下是我在代碼中常用的幾個示例:

  1. // $i for loop countersfor 
  2. ($i= 0; $i< 100; $i++) {        
  3.   // $j for the nested loop counters     
  4.   for($j= 0; $j< 100; $j++) {        
  5.   } 
  6. }    
  7. // $ret for return variables 
  8. functionfoo() {     
  9.  $ret['bar'] = get_bar();     
  10.  $ret['stuff'] = get_stuff();        
  11.  return$ret; 
  12. }    
  13. // $k and $v in foreachforeach 
  14. ($some_arrayas$k=> $v) {    
  15. }    
  16. // $q, $r and $d for mysql 
  17. $q= "SELECT * FROM table"
  18. $r= mysql_query($q); 
  19. while($d= mysql_fetch_assocr($r)) {   
  20. }    
  21. // $fp for file pointers\ 
  22. $fp= fopen('file.txt','w');  

探索 TDM 對于敏捷、DevOps 和持續交付中速度和質量的必要性。與 CA 技術一起攜手合作。 

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2021-10-09 10:24:53

Java 代碼可讀性

2022-11-04 11:18:16

代碼優化可讀性

2022-08-23 14:57:43

Python技巧函數

2022-08-29 00:37:53

Python技巧代碼

2024-10-07 10:00:00

Python代碼編碼

2020-11-08 14:36:27

pandas數據分析pipe()

2024-01-31 08:04:43

PygmentsPython

2019-06-06 08:48:14

代碼函數編程語言

2021-04-01 16:43:05

代碼可讀性開發

2021-12-08 23:38:25

Python工具代碼

2024-08-02 16:20:06

2024-10-11 06:00:00

Python代碼編程

2023-11-14 08:10:06

高級函數Python

2015-08-27 13:11:18

JavaScript代碼

2025-03-17 00:55:00

2024-04-07 10:13:57

C++代碼if-else

2025-05-12 10:00:00

JavaScript代碼編碼

2024-04-23 08:01:20

面向對象C 語言代碼

2019-12-03 09:32:32

JavaScript代碼開發

2010-09-02 10:43:24

CSS文件
點贊
收藏

51CTO技術棧公眾號

成人黄色av网站在线| 欧美成人日韩| 欧美日韩一区中文字幕| 四虎影视永久免费在线观看一区二区三区| 最近中文字幕免费在线观看| 久久亚洲影视| 亚洲第一在线视频| www.涩涩涩| 女囚岛在线观看| 91在线你懂得| 91在线视频一区| www亚洲视频| 日韩免费视频| 亚洲精品ady| 亚洲欧美aaa| 欧美日韩在线观看首页| 中文字幕一区二区三区四区| 国产视频一区二区不卡| 国产又粗又猛视频| 久久xxxx| 欧美国产日韩在线| 亚洲aaa视频| 亚洲毛片免费看| 欧美成人性战久久| 天天操狠狠操夜夜操| 北岛玲heyzo一区二区| 亚洲精品免费电影| 亚洲国产婷婷香蕉久久久久久99| 欧美综合视频在线| 国产九色精品成人porny| 奇米四色中文综合久久| 免费一级肉体全黄毛片| 999国产精品永久免费视频app| 日韩激情在线视频| 9.1在线观看免费| 91精品一区| 欧洲精品一区二区| 男人操女人免费软件| 欧美极品少妇videossex| 成人欧美一区二区三区黑人麻豆 | www.欧美黄色| 精精国产xxxx视频在线| 久久久久免费观看| 欧美日韩精品中文字幕一区二区| 空姐吹箫视频大全| 高清不卡一二三区| av一区和二区| 超碰在线人人干| 国产美女久久久久| 91老司机精品视频| 国产一区二区在线视频聊天| 美女www一区二区| 国产精品老女人精品视频| 黄色大片网站在线观看| 国产精品丝袜xxxxxxx| 性色av一区二区三区在线观看| 国产一级做a爰片在线看免费| 欧美在线视屏| 久久久久久国产精品美女| 精品一区在线观看视频| 欧美成人一品| 久久久久久久久久亚洲| 日本熟妇毛茸茸丰满| 亚洲国产激情| 欧美一级片免费在线| 六月丁香在线视频| 亚洲欧美清纯在线制服| 日韩av色综合| 丰满人妻一区二区三区四区| 青青青伊人色综合久久| 国产91在线高潮白浆在线观看| 99久久久无码国产精品免费蜜柚| 日韩av在线发布| 国产伊人精品在线| 99久久精品国产一区色| 粉嫩嫩av羞羞动漫久久久| 国产一区免费视频| 美州a亚洲一视本频v色道| 国产三级三级三级精品8ⅰ区| 日韩精品欧美在线| 色多多视频在线观看| 亚洲视频在线观看一区| 精品成在人线av无码免费看| 天堂√8在线中文| 在线观看免费亚洲| 男插女视频网站| 果冻天美麻豆一区二区国产| 亚洲精选一区二区| 潘金莲一级黄色片| 99在线热播精品免费99热| 国产成人精品电影久久久| 一区二区三区播放| 白白色亚洲国产精品| 视频一区二区三| 色女人在线视频| 欧美午夜片欧美片在线观看| 欧美成人三级在线播放| 国产成人一二片| 国产一区二区三区在线观看网站| 动漫性做爰视频| 西西人体一区二区| 亚洲专区中文字幕| 欧美女子与性| 亚洲精品久久久蜜桃| 欧美在线一区视频| 欧美91在线|欧美| 亚洲精品久久久久中文字幕二区 | 欧美天天综合| 久久久久久中文字幕| 进去里视频在线观看| 国产iv一区二区三区| 日本欧美精品久久久| 亚洲欧美成人影院| 欧美天堂一区二区三区| 国产精品伦子伦| 欧美在线免费| 成人免费在线视频网址| 青青青草原在线| 亚洲一区二区成人在线观看| 手机看片福利日韩| 日韩mv欧美mv国产网站| 欧美第一黄色网| 亚洲天堂手机版| 久久夜色精品一区| av无码久久久久久不卡网站| 亚洲网站免费| 国产亚洲欧美日韩美女| 国产区一区二区三| 成人av电影免费在线播放| 女同性恋一区二区| 久久精品国产福利| 一区二区三区国产视频| 91在线视频在线观看| 懂色av噜噜一区二区三区av| 免费成人深夜夜行网站视频| 97久久网站| 国产一区二区三区在线播放免费观看| 国产无遮挡呻吟娇喘视频| 成人免费视频免费观看| 黄色成人在线免费观看| 国产精品视频首页| 久久伊人精品视频| 国产精品久久影视| 亚洲天堂福利av| 99九九99九九九99九他书对| 欧美成人自拍| 国产专区精品视频| 国产在线观看av| 欧美精品九九99久久| 日本美女bbw| 美女视频一区在线观看| 亚洲视频电影| 日韩欧乱色一区二区三区在线| 日韩在线激情视频| 国产精品玖玖玖| 亚洲黄色尤物视频| 少妇献身老头系列| 99精品视频免费| 麻豆成人av| 外国电影一区二区| 日韩在线观看免费| 国产乱码久久久| 一区二区欧美在线观看| 中文字幕在线国产| 国产精品亚洲产品| 日韩妆和欧美的一区二区| 成人毛片免费| 另类视频在线观看| 蜜臀久久久久久999| 狠狠做深爱婷婷久久综合一区 | 久久香蕉精品香蕉| 欧美一级高清免费| 在线免费观看黄| 欧美一级久久久久久久大片| 国产在线视频二区| 久久蜜桃香蕉精品一区二区三区| 美女喷白浆视频| 国产精品久久占久久| 成人免费看片网站| 老司机2019福利精品视频导航| 最新中文字幕亚洲| 亚洲精品97久久中文字幕| 欧美日韩在线视频观看| 人与动物性xxxx| 成人高清伦理免费影院在线观看| 欧美女人性生活视频| 日韩免费视频| 好吊色欧美一区二区三区四区| 姬川优奈av一区二区在线电影| 久久五月天综合| 亚洲人在线观看视频| 欧美探花视频资源| 日韩女同强女同hd| 亚洲欧美自拍偷拍色图| 污网站免费观看| 蜜桃av噜噜一区| 久久久久久人妻一区二区三区| 欧美色爱综合| 国产精品一区二区三区在线观 | 女尊高h男高潮呻吟| 久久国内精品自在自线400部| 久久在线中文字幕| 成人精品电影| 精品高清视频| 欧美日韩黄网站| 国产精品福利片| 51漫画成人app入口| 色视频www在线播放国产成人| 日韩一级中文字幕| 在线综合视频播放| 日韩久久久久久久久久| 午夜一区二区三区视频| 久久国产高清视频| 国产欧美一区二区精品性色| 欧美丰满熟妇bbb久久久| 久久精品国产精品亚洲精品| 国产精品秘入口18禁麻豆免会员| 在线电影一区二区| 亚洲在线不卡| 你微笑时很美电视剧整集高清不卡| 亚洲xxxx视频| 日韩成人综合网| 国产成人精品最新| 欧美aa一级| 欧美黄色免费网站| dj大片免费在线观看| 日韩一区二区av| 川上优的av在线一区二区| 日韩激情在线视频| 手机福利在线| 91精品国产综合久久小美女| 中文在线资源天堂| 欧美小视频在线| 91精品国产综合久久久蜜臀九色| 亚洲福利视频导航| 久久精品国产亚洲AV无码麻豆| 最新中文字幕一区二区三区| 成年人视频软件| 亚洲国产精品传媒在线观看| 一级黄色录像毛片| 国产亚洲精品aa| 中字幕一区二区三区乱码| 久久亚洲私人国产精品va媚药| 国产国语性生话播放| 91视频在线观看免费| 三级男人添奶爽爽爽视频| 99免费精品在线| 亚洲成人av免费在线观看| 97精品视频在线观看自产线路二| 黄色片视频免费观看| 99久久99久久久精品齐齐| 999精品免费视频| 99久精品国产| 91网站免费视频| 国产亚洲综合av| 国产欧美小视频| 日韩一区欧美小说| 激情视频在线播放| 午夜精品久久久久影视| 成年免费在线观看| 一本久久综合亚洲鲁鲁五月天| 91精品国产综合久久久蜜臀九色| 91久久精品一区二区三| 曰批又黄又爽免费视频| 91麻豆精品国产91久久久久久久久| 国产欧美一区二区三区视频在线观看| 日韩一级片在线观看| 丰满人妻熟女aⅴ一区| 亚洲激情 国产| 国产精品麻豆一区二区三区| www.亚洲免费视频| 日本天码aⅴ片在线电影网站| 性欧美激情精品| 日本成人片在线| 91在线视频九色| 青青一区二区| 亚洲一区影院| 在线成人av| 视频二区在线播放| 国产91丝袜在线播放九色| 最近日本中文字幕| 国产精品剧情在线亚洲| 妺妺窝人体色www婷婷| 日韩欧美国产视频| 一级特黄特色的免费大片视频| 精品日韩成人av| 青青青草网站免费视频在线观看| 久久精品国产亚洲一区二区 | 国产精品久久久久久婷婷天堂| 91精品视频一区二区| 久久国产一区二区| 99免费精品| 国产91美女视频| 国内成人精品2018免费看| 五月开心播播网| 中文字幕一区不卡| 国产精品久久亚洲7777| 成人在线免费电影网站| 成人18视频| 欧美综合久久| 欧美一级片免费播放| 青青草伊人久久| 中国黄色片视频| 国产精品久久久久久户外露出 | 国产精品福利影院| 日韩欧美高清在线观看| 欧美区在线观看| 少妇激情av一区二区| 久久综合五月天| 色婷婷综合久久久中字幕精品久久| 91精品国自产在线观看| 精品理论电影在线| 男女视频网站在线观看| 久久爱另类一区二区小说| 国产肉体xxxx裸体784大胆| 亚洲视频你懂的| 欧美一级做a爰片免费视频| 欧美成人一级视频| 国产精品一区二区三区视频网站| 日本视频久久久| 国产调教精品| 伊人再见免费在线观看高清版 | av污在线观看| 99久久久精品免费观看国产蜜| 国产传媒免费在线观看| 日本精品视频一区二区三区| 秋霞av鲁丝片一区二区| 另类专区欧美制服同性| 国产a亚洲精品| 日本不卡一区| 久久99伊人| 久久无码人妻精品一区二区三区| 亚洲综合一区二区| hs视频在线观看| 久久久国产视频91| 农村妇女一区二区| 亚洲天堂电影网| 日本强好片久久久久久aaa| 中文字幕高清视频| 色综合久久综合中文综合网| 污污网站在线免费观看| 午夜精品一区二区三区视频免费看 | 久久99免费视频| 欧美a在线视频| 91啦中文在线观看| 91香蕉在线视频| 亚洲精品国产精品自产a区红杏吧| 久久不射影院| 国产精品10p综合二区| 国产精品v欧美精品v日本精品动漫| 无人码人妻一区二区三区免费| 亚洲欧美欧美一区二区三区| 国产片在线播放| 欧美日韩第一视频| 97久久亚洲| 91猫先生在线| 国产性色一区二区| 中文文字幕一区二区三三| 中文字幕国产日韩| 日本免费在线一区| 第九区2中文字幕| 国产1区2区3区精品美女| 国产91av视频| 亚洲精品国产精品久久清纯直播| 吉吉日韩欧美| 亚洲国产精品一区二区第四页av| 捆绑调教一区二区三区| 在线免费观看亚洲视频| 精品久久久久久久久久久久久久久久久 | 亚洲国产精品免费视频| 日韩精品在线观看av| 99riav一区二区三区| 国产91精品看黄网站在线观看| 中文日韩电影网站| www一区二区三区| 欧美久久在线观看| 国产日韩av一区| 国产一区二区小视频| 欧美精品18videos性欧美| 清纯唯美亚洲经典中文字幕| 农村妇女精品一二区| 国产精品久久久久三级| 精品国产一级片| 69精品小视频| 久久资源中文字幕| 黑人无套内谢中国美女| 色偷偷成人一区二区三区91| 亚乱亚乱亚洲乱妇| 国产一区二区不卡视频| 日韩国产一区二| 久久精品国产亚洲av无码娇色| 亚洲图片制服诱惑| 欧美三级一区| aaaaaa亚洲| 一片黄亚洲嫩模| av在线免费一区| 国产精品我不卡| 蜜芽一区二区三区| 日韩成人一区二区三区| 最新亚洲国产精品|