編碼規範之命名
1.命名
命名是一個看似簡單卻值得深究的一個過程。變數、函式、檔案等等命名有一些內在的要求:見名知義。一個好的名字可以讓人一眼就知道它是做什麼的,它往往是一個事物的高度概括。如果一個名字取得不好,那麼可能會其他人帶來閱讀上的困難,甚至引起歧義。變數名和檔名一般採用名詞,而函式名一般採用動賓結構。
1.1檔案命名
檔案命名一般建議採用名詞,用大駝峰法。一個檔案一般代表著一個類或模組,首先你需要對整個類或模組的定位有一個清晰的瞭解,才能給它取出一個恰當的名字。對於類而言,你需要明確它具有那些屬性和行為;對於模組而言,你需要明確它為了解決什麼問題而產生,起到什麼作用。
檔案開頭一般都需要加註釋,寫清楚作者和編碼時間以及功能說明。
例如:
檔名:ForceDirectedLayout
/**
* Created by zhongzh on 2017/6/19.
*力導向佈局
*/
1.2變數命名
變數命名一般建議採用型別字首+有意義的單片語成,用小駝峰法。
區域性變數:
s:表示字串。例如:sName,sHtml;
n:表示數字。例如:nPage,nTotal;
b:表示邏輯。例如:bChecked,bHasLogin;
a:表示陣列。例如:aList,aGroup;
r:表示正則表示式。例如:rDomain,rEmail;
fn:表示函式。例如:fnGetHtml,fnInit,fnGetName,fnSetAge;
f :表示檔案。例如:fInput;
o:表示以上未涉及到的其他物件,例如:oButton,oDate;
g:表示全域性變數,例如:gUserName,gLoginTime;
$:表示Jquery物件。例如:$Content,$Module;這是一種比較廣泛的Jquery物件變數命名規範。
dom:表示Dom物件,例如:domForm,domInput;
臨時變數(作用域小):str,num,bol,obj,fun,arr,cnt等等
迴圈變數:i,j,k
1.3函式命名
一個好的函式名一般能通過名字直接獲知該函式實現什麼樣的功能。首先,如果你無法對這個函式給出一個合適的名字,說明你對這段程式碼將要實現的功能理解還不到位,或者說你對需求的理解還不夠充分。其次,如果你的函式名不能正確地反映函式功能,那麼你可能就嗅到了“壞程式碼的味道”(參考《重構》),可能意味著這個函式過大,需要細化為耦合性更小、功能更加獨立的幾個函式。
函式命名一般建議統一使用動詞或者動詞+名詞的形式:init(),getName()
涉及到布林邏輯值的函式建議採用is,has,contains代替動詞開頭:isObject(),hasClass(),containsElements()
常見的一些動詞,可以借鑑和參考:
get 獲取/set 設定, add 增加/remove 刪除
create 建立/destory 移除 start 啟動/stop 停止
open 開啟/close 關閉, read 讀取/write 寫入
load 載入/save 儲存, create 建立/destroy 銷燬
begin 開始/end 結束, backup 備份/restore 恢復
import 匯入/export 匯出, split 分割/merge 合併
inject 注入/extract 提取, attach 附著/detach 脫離
bind 繫結/separate 分離, view 檢視/browse 瀏覽
edit 編輯/modify 修改, select 選取/mark 標記
copy 複製/paste 貼上, undo 撤銷/redo 重做
insert 插入/delete 移除, add 加入/append 新增
clean 清理/clear 清除, index 索引/sort 排序
find 查詢/search 搜尋, increase 增加/decrease 減少
play 播放/pause 暫停, launch 啟動/run 執行
compile 編譯/execute 執行, debug 除錯/trace 跟蹤
observe 觀察/listen 監聽, build 構建/publish 釋出
input 輸入/output 輸出, encode 編碼/decode 解碼
encrypt 加密/decrypt 解密, compress 壓縮/decompress 解壓縮
pack 打包/unpack 解包, parse 解析/emit 生成
connect 連線/disconnect 斷開, send 傳送/receive 接收
download 下載/upload 上傳, refresh 重新整理/synchronize 同步
update 更新/revert 復原, lock 鎖定/unlock 解鎖
check out 簽出/check in 簽入, submit 提交/commit 交付
push 推/pull 拉, expand 展開/collapse 摺疊
begin 起始/end 結束, start 開始/finish 完成
enter 進入/exit 退出, abort 放棄/quit 離開
obsolete 廢棄/depreciate 廢舊, collect 收集/aggregate 聚集
程式設計常用縮寫 | |||
序號 | 英文詞 | 縮寫詞 | 意義 |
A | Accumulator | Acc | 累加器 |
Action | Act | 動作,活動 | |
Active | Act | 活躍的 | |
Addition | Add | 新增 | |
Address | Addr | 地址 | |
Alarm | Alm | 報警 | |
All | All | 所有 | |
Allocate | Alloc | 分配 | |
Amplitude | Amp | 幅值 | |
Analog Input | AI | 模擬輸入 | |
Analog Output | AO | 模擬輸出 | |
Anolog I/O | AIO | 模擬I/O | |
Apparent | App | 表面上的 | |
Argument | Arg | 變元 | |
Arrange | Arrng | 排列 | |
Array | Array | 陣列 | |
Assemble | Asm | 組裝 | |
Attribute | Attrib | 屬性 | |
B | Bar | Bar | 條,帶 |
Bit | Bit | 位元 | |
Block | Blk | 塊 | |
Buffer | Buf | 緩衝區 | |
Button | Btn | 按鈕 | |
Bypass | Bypass | 旁路,跳過 | |
C | Calculate | Calc | 計算 |
Calibration | Cal | 校準 | |
Change | Chg | 改變 | |
Channel | Ch | 通道 | |
Check | Chk | 檢查 | |
Clear | Clr | 清除 | |
Clear Screen | Cls | 清屏 | |
Clock | Clk | 時鐘 | |
Column | Col | 列 | |
Command | Cmd | 命令 | |
Communication | Comm | 通訊 | |
Compare | Cmp | 比較 | |
Complete | Comp | 完成 | |
Configuration | Cfg | 配置 | |
Connect | Con | 連線 | |
Construct | Cons | 構建 | |
Context | Ctx | 上下文 | |
Control | Ctrl | 控制 | |
Control Word | CW | 控制字 | |
Convert | Conv | 轉換 | |
Copy | Cp | 複製 | |
Count | Cnt | 計數 | |
Counter | Ctr | 計數器 | |
Current | Cur | 當前,電流 | |
Cursor | Csr | 游標 | |
D | Date | Date | 日期 |
Day | Day | 天 | |
Day-of-week | DOW | 一週中的一天 | |
Debounce | Debounce | 消抖 | |
Decimal | Dec | 十進位制的 | |
Decode | Decode | 解碼 | |
Decrease | Dec | 減少 | |
Define | Def | 定義 | |
Degree | Deg | 度 | |
Delay | Dly | 延遲 | |
Delete | Del | 刪除 | |
Descriptor | Desc | 描述符 | |
Destination | Dst | 目的地 | |
Device | Dev | 裝置 | |
Digit | Dig | 數字 | |
Disable | Dis | 禁用 | |
Discovery | Disc | 發現 | |
Discrete I/O | DIO | 離散輸入輸出 | |
Discrete Input | DI | 離散輸入 | |
Discrete Output(s) | DO | 離散輸出(s) | |
Display | Disp | 顯示 | |
Division | Div | 除法 | |
Divisor/Division | Div | 除數/分 | |
Down | Down | 下 | |
Dummy | Dummy | 虛構的 | |
Dynamic | Dyn | 動態 | |
E | Edge | Edge | 邊 |
Effective | Eff | 有效 | |
Electric | Elec | 電 | |
Empty | Empty | 空 | |
Enable | En | 使能 | |
Engine | Eng | 引擎 | |
Engineering Units | EU | 工程單位 | |
Enter | Enter | 進入 | |
Entries | Entries | 條目 | |
Equivalent | Equiv | 等效 | |
Error(s) | Err | 錯誤 | |
Ethernet | Eth | 乙太網 | |
Event(s) | Event | 事件 | |
Exception | Exc | 例外 | |
Exit | Exit | 出口 | |
Expiration | Exp | 到期 | |
Exponent | Exp | 指數 | |
Extension | Ext | 延伸 | |
F | Field | Fld | 場,領域 |
Flag | Flag | 標誌 | |
Flush | Flush | 重新整理 | |
Format | Format | 格式 | |
Fraction | Fract | 分數 | |
Free | Free | 自由 | |
Frequency | Freq | 頻率 | |
Full | Full | 完整的,滿的 | |
Function(s) | Fnct | 函式,功能 | |
G | Gain | Gain | 增益 |
Generate | Gen | 生成 | |
Get | Get | 得到 | |
Group(s) | Grp | 組 | |
H | Handler | Handler | 處理程式 |
Harmonic | Harm | 諧波 | |
Hexadecimal | Hex | 十六進位制 | |
High | Hi | 高 | |
High Priority Task | HPT | 高優先順序的任務 | |
History | Hist | 歷史 | |
Hit | Hit | 打 | |
Hour(s) | Hr | 小時 | |
I | I.D. | Id | 身份識別 |
Idle | Idle | 閒置 | |
Impulse | Imp | 脈衝 | |
Index | Ix | 索引 | |
Initialization | Init | 初始化 | |
Initialize | Init | 初始化 | |
Input(s) | In | 輸入 | |
Instruction | Instr | 指令 | |
Interrupt | Int | 中斷 | |
Interrupt Service Routine | ISR | 中斷服務程式 | |
Invert | Inv | 使轉化 | |
K | Key | Key | 關鍵 |
Keyboard | Key | 鍵 | |
L | Length | Len | 長度 |
Limit |
相關推薦編碼規範之命名1.命名 命名是一個看似簡單卻值得深究的一個過程。變數、函式、檔案等等命名有一些內在的要求:見名知義。一個好的名字可以讓人一眼就知道它是做什麼的,它往往是一個事物的高度概括。如果一個名字取得不好,那麼可能會其他人帶來閱讀上的困難,甚至引起歧義。變數名和檔名一般採用名詞,而函式名一般採用動賓結構。 編碼習慣之命名規範選擇一個好的命名 命名有兩個目標: 清晰:你要知道該命名與什麼有關精確:你要知道該命名與什麼無關 當一個命名完成上面兩個目標之後,其餘的字元就是多餘的了。下面是我在開發時的一些命名原則: 命名中無需含有表示變數或引數型別的單詞 如果使用如Java之 《從零開始學Swift》學習筆記(Day 57)——Swift編碼規範之凝視規範:文件凝視、文檔凝視、代碼凝視、使用地標凝視精品 -type mil 顯示 clas ber ansi tex text 原創文章。歡迎轉載。轉載請註明:關東升的博客 前面說到Swift凝視的語法有兩種:單行凝視(//)和多行凝視(/*...*/)。這裏來介紹一下他們的使用規範。 1、文件凝視文件凝視就在每個文 淺談Android編碼規範及命名規範event err class wrap spa for循環 who 全局變量 經典 原文:淺談Android編碼規範及命名規範前言: 目前工作負責兩個醫療APP項目的開發,同時使用LeanCloud進行雲端配合開發,完全單挑。 現大框架已經完成,正在進行細節模 2.我使用的C/C++編寫規範之命名約定test imu dir use 規範 意義 BE 常見 單詞 自用的規範,參考自Google、華為與微軟。? 最重要的一致性規則是命名管理,命名風格直接可以直接確定命名實體是:類型、變量、函數、常量、宏等等,無需查找實體聲明,我們大腦中的模式匹配引擎依賴於這些命名規則。 HTML 編碼規範之布林型屬性布林屬性: XHTML 規範要求為布林型屬性賦值,到了HTML5,一切化繁為簡。HTML5 規範規定:元素的布林型屬性如果有值,就是 true,如果沒有值,就是 false。因此,在宣告布林型屬性時,不用賦值。 我們可以看到<input java 編碼規範 1 命名風格【強制】程式碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束。反例:_name / __name / $Object / name_ / name$ / Object$ 【強制】 C++程式碼規範之命名規則一、命名的兩個基本原則1、含義清晰,不易混淆; 2、不和其它模組、系統API的名稱空間相沖突。二、命名通則1、在所有命名中,都應使用標準的英文單詞或縮寫;不得使用拼音或拼音縮寫,除非該名字描述的是文 特有的內容(如半形、全形、聲母、韻母等);除非必要,不要用數字或較奇怪的字元來定義識別符號。 2、所有命名都應 自己總結的C#編碼規範--2.命名選擇篇上一篇文章講了識別符號命名的約定,今天講下識別符號命名的選擇。 簡單的講,看到一個識別符號一定要可以見名知意。 名字一定要能夠表達出識別符號的含意 識別符號名字必須要表達出該識別符號的意義,絕對不可以使用無意義的v1,v2…vn之類的命名。 public static void 自己總結的C#編碼規範--1.命名約定篇命名約定 我們在命名識別符號時(包括引數,常量,變數),應使用單詞的首字母大小寫來區分一個識別符號中的多個單詞,如UserName. PascalCasing PascalCasing包含一到多個單詞,每一個單詞第一個字母大寫,其餘字母均小寫。例如:HelloWorld、SetN IOS編碼規範(命名規範)⼀一.命名規則 命名總則: 1.使⽤用駝峰法命名,命名清晰明瞭,要做到⾃自描述,不能省略,部分cocoa通 ⽤用縮略詞能夠縮寫。 Objective – C不⽀支援名字名稱空間,所以某些命名要加項⺫⽬目字首區別。 需要加字首的地⽅方: 全域性變數,類名,全域性函式,categ 前端開發規範之命名規範、html規範、css規範、js規範在學習程式設計的時候,每次看到那些整齊規範的程式碼,心裡頓時對這個程式設計師表示點點好感,有時,比如看到自己和朋友寫的程式碼時,那閱讀起來就是苦不堪言,所以,一些基本的開發規範是必須的,是為了自己方便閱讀程式碼,也方便他人閱讀修改程式碼。 命名 前端編碼規範之JavaScript上次淺談了下關於CSS的編碼規範,大部分童鞋持贊同意見,仍存在一些童鞋不太理解這些規範的意義。 如果是個人或者小作坊開發,其實這些所謂的編碼規範也沒啥意思,因為大家寫好的程式碼直接就給扔到網上去了,很少有打包、壓縮、校檢等過程,別人來修改你程式碼的情況也比較少。但是,對於一定規模的團隊來說,這些東西 前端編碼規範之CSS"字是門面書是屋",我們不會去手寫程式碼,但是敲出來的程式碼要好看、有條理,這還必須得有一點約束~ 團隊開發中,每個人的編碼風格都不盡相同,有時候可能存在很大的差異,為了便於壓縮元件對程式碼進行壓縮以及書寫樣式的規範統一和美觀,很有必要大家一起來研究一套基本規範(模板)! 我先拋磚引玉。(禁止 C#編碼規範之代碼的增刪改約定pre 支持 type cal group 一次 情況 delet 約定 C#編碼規範,代碼的增刪改約定: 增加 #region add by Tome 2018-9-20 //原因:描述 int a = GetScale(obj, col); #endregion Bootstrap CSS 編碼規範之Less 和 Sass 中的巢狀Less 和 Sass 中的巢狀避免不必要的巢狀。這是因為雖然你可以使用巢狀,但是並不意味著應該使用巢狀。只有在必須將樣式限制在父元素內(也就是後代選擇器),並且存在多個需要巢狀的元素的時候,才使用巢狀。// Without nesting.table > thead python編碼規範與命名規範編碼規範 不要在行尾加分號, 也不要用分號將兩條命令放在同一行. 每行不超過80個字元,Python會將圓括號, 中括號和花括號中的行隱式的連線起來 , 你可以利用這個特點. 如果需要, 你可以 前端開發規範之命名規範HTML: 1.單標記標籤統一加/結尾 2.所有跟資料有關的按鈕都用input 3.定位屬性要寫全,為0不省略 4.給有事件的元素統一加類 5.單獨模組用section包起來,class是模組名 6.導航,footer單獨之外,其餘的儘量用一個大的容 C++編碼規範(2):命名規範如果你程式碼中的變數名,函式數,類名都取得很好,不僅是個有意義的詞或短語,而且確切的表達了該變數或函式的功能.那讀起程式碼來就像看文章一樣,絕對是一種享受.當然理想是美好的,現實可是殘酷的.很少有人能做到這樣.一來嘛你英語詞彙量得多,不樣不容易找到那麼多合適並貼切的 編碼規範 之 ----JAVA註釋規範一、前言 好的程式碼規範是一個程式設計師的基本修煉,好的程式碼註釋更能體現一個程式設計師的思維邏輯,雖然程式碼是用來給機器執行的,我們只要能寫出能讓編譯器執行的程式碼就行了,但是如果沒有好的編碼規範,到專案後期,加入開發的人員逐漸增多時,每個人的編碼風格都不 |