這是乙個突如其來的拍腦袋的想法,源於這兩天看codeigniter源**的時候那個又長又臭的配置檔案,相信經常用開源軟體的朋友都見識過他們的配置檔案,常常都是幾百上千行的(apache的httpd.conf就有差不多1000行),而實際起作用的,卻只不過是十幾行。於是乙個拍腦袋的想法就出來了:為什麼不把這些有用的東西集中在一起呢?終於成文為:沙皮狗丁編碼方法。他只是乙個半成品,很多東西正在考慮中,希望大家走過路過不要錯過,給俺提些建議。
1 名稱
英文:xpcoding
中文:沙皮狗丁
全稱:extremeprogramming of coding(**的極限程式設計風格)
如果你對這個名稱很不爽,那很報歉,最近和新聞人走得近,形成了標題黨的風格:內格可以一般,標題一定要威風。
2 使用理由
1) 開啟**,就能給你最關鍵的資訊,讓你感覺很爽,同時讓你最快定位到你要的資訊上。而且**很整潔。這對寫配置檔案類的**很有用的。
2) 注釋像文件一樣整齊,拷出來就可以交給使用者,因為我們都寫到後面去了。
3) 很方便你統計你的**量和注釋量。
4) 如果設計良好,並且可以用簡單的軟體來把他們還原到常規狀態。(比如設計像定位模板一樣的東西)
5) 很符合國內開發一種惡習:先寫**後補注釋(一般讓小弟補)
6) 符合國內開發的另一種惡習:如果非得給後面的接著開發的公司**,那就盡量給他們添麻煩(你可以方便地把後面的注釋刪除)
3 約定規則
1) 檔案注釋塊和**塊分離,注釋塊放在**塊的後面,**塊和注釋塊之間有乙個唯一識別符號來標記。便於用ctrl+f來查詢相應的注釋。
2) **塊的注釋不超過一行,用單行注釋進行注釋,如使用//而不是/* */.
3) **盡量緊湊,長注釋都放到注釋塊裡去
4) 檔案修改資訊放在**塊後面,注釋塊的最前端。
4 例子
這是codeigniter的config.php:
這裡是我試著修改過的:
5 todo list
這只是乙個開始的想法,如果能形成乙個編碼規範一類的東西,我相信還是有一點幫助的,在將來,還有正面的工作要作:
1) 把「**盡量緊湊整潔」進行解釋,收集一下符合這個條件規則(如果把if(){和放一行而不是兩行)
2) 可以制訂一下識別符號的命名規則,比如 xpc:funtionname 之類的
3) 製作些相關的小工具。(這個就不知道會不會是綿綿無期了)
Python 字元編碼方法
ascii標準在美國建立,並且定義了大多數美國程式設計師使用的文字字串表示法。ascii定義了從0到127的字元 並且允許每個字元儲存在乙個8位的位元組中 實際上,只 有其中的7位真正用到 例如,ascii標準把字元 a 對映為整數值97 十六進製制中的0x61 它儲存在記憶體和檔案的乙個單個位元組...
特徵編碼方法 OneHotEncoding
對於一些特徵工程方面,有時會用到labelencoder和onehotencoder。一 為什麼需要這種編碼方式 在實際的機器學習的應用任務中,特徵有時候並不總是連續值,有可能是一些分類值,如性別可分為 male 和 female 如果我們用簡單的0,1代替就會有問題,因為男女之間不存在大小關係。二...
狀態機狀態編碼方法
常用的編碼有三種 二進位制編碼 gray碼 one hot編碼。另外,還可以自定義編碼,比如在高速設計中以狀態編碼作為輸出。一 二進位制編碼 順序二進位制編碼,即將狀態依次編碼為順序的二進位制數。順序二進位制編碼是最緊密的編碼,優點在於它使用的狀態向量位數最少。例如對於6 個狀態的狀態機,只需要 3...