OpenCV 編碼樣式指南
轉自:ICVL幫助文件
前言
本文件是對OpenCV中程式碼風格的簡短說明,因為OpenCV的核心庫(cv,cvaux)是用C和C++編寫的,所以本文件僅對用C和C++程式碼的編寫有效。
-------------------------------------------------------------
檔案命名
所有cv和cvaux庫檔案的命名必須服從於以下規則:
所有的CV庫檔名字首為cv
混合的C/C++介面標頭檔案副檔名為 .h
純C++介面標頭檔案副檔名為 .hpp
實現副檔名為 .cpp
為了與POSIX相容,檔名都以小寫字元組成
--------------------------------------------------------------
檔案結構
每個檔案以BSD相容的許可宣告(模板在Contributors_BSD_Licsense.htm檔案中可以找到)開頭;其它標頭檔案和實現檔案的規則包括:
一行最多90個字元,不包括行結束符
不使用製表符
縮排為4個空格符,所以製表符應該用1-4個空格替換(依據開始列確定)
標頭檔案必須使用保護巨集,防止檔案被重複包含。混合C/C++介面標頭檔案用extern “C” { } 包含C語言定義。為了使預編譯頭機制在Visual C++中工作正常,原始檔必須在其它標頭檔案前包含precomp.h標頭檔案。 同時,請參見標頭檔案和實現檔案的示例。
--------------------------------------------------------------
命名約定
OpenCV中使用大小寫混合樣式來標識外部函式、資料型別和類方法。巨集全部使用大寫字元,詞間用下劃線分隔。
所有的外部或內部名稱,若在多個檔案中可見,則必須含有字首:
外部函式使用字首cv
內部函式使用字首Icv
資料結構(C結構體、列舉、聯合體、類)使用字首Cv
外部或某些內部巨集使用字首CV_
內部巨集使用字首ICV_
--------------------------------------------------------------
函式介面設計
為了保持庫的一致性,以如下方式設計介面非常重要。函式介面元素包括:
功能
名稱
返回值
引數型別
引數順序
引數預設值
函式功能必須定義良好並保持精簡。函式應該容易鑲入到使用其它OpenCV和IPL函式的不同處理過程。函式名稱應該簡單並能體現函式的功能。以下是OpenCV中的一些基本命名模式:
大多數函式名形式:cv<ActionName>
相關文章
- SASS樣式指南
- CMake生成OpenCV解決方案&&編譯OpenCV原始碼OpenCV編譯原始碼
- Protobuf 編碼指南
- JavaScript編碼指南JavaScript
- JavaScript 編碼指南JavaScript
- java安全編碼指南之:方法編寫指南Java
- React-Native 樣式指南React
- AngularJS 樣式指南介紹AngularJS
- java安全編碼指南之:字串和編碼Java字串
- Python安全編碼指南Python
- JavaScript編碼風格指南JavaScript
- JavaScript 編碼風格指南JavaScript
- Go 編碼規範指南Go
- Go編碼規範指南Go
- Python 安全編碼指南Python
- 程式碼樣式
- 編碼導致 html和aspx 樣式差異,變形HTML
- [譯] 編寫函式式的 JavaScript 實用指南函式JavaScript
- CoffeeScript 編碼風格指南
- Android編碼規範指南Android
- Python 編碼風格指南Python
- 編碼規則指南(轉貼)
- java安全編碼指南之:Number操作Java
- PHP 編碼風格規範指南PHP
- AngularJS最佳編碼實踐指南AngularJS
- 程式碼樣式檢查
- java安全編碼指南之:基礎篇Java
- XML入門指南(15)XML編碼(轉)XML
- css中四種頁面編寫樣式CSS
- css預重置樣式程式碼CSS
- 支付6位密碼樣式密碼
- opencv 編譯常見錯誤OpenCV編譯
- 影片直播原始碼,CSS 修改捲軸樣式、信封邊框樣式原始碼CSS
- Opencv官方樣例圖片下載OpenCV
- opencv + SVM 程式碼OpenCV
- 在安卓上使用OpenCV的指南 - kdnuggets安卓OpenCV
- 程式碼混淆防止APP被反編譯指南APP編譯
- java安全編碼指南之:檔案IO操作Java