國外大牛的程式設計經驗

2022-05-05 22:21:10 字數 1532 閱讀 1502

1. 動手編碼之前,你需要對要編碼實現的解決方案有乙個正式的或粗略的設計。

永遠不要在沒有任何設計的前提下就開始編碼,除非所編**不重要。

2. 優秀的**文件跟程式語言知識一樣重要。在**原始檔中,為每個主要的**段新增注釋,解釋**的基本邏輯。最好註明程式的構建和修改日期,以及修改的原因也是非常有必要的。

3. 維護程式的各個版本同樣重要。當前有些程式設計工具都自帶乙個版本管理工具。無論你什麼時候改變自己的程式,它們都會將其儲存為.bak檔案。我的方法是為每個程式維護三個不同的版本。比如說,我有乙個名為program.c的檔案,這個檔案同時也被其他專案組成員使用。我把這個檔案複製為 program.c.old作為備份檔案,並且當我修改時,我會備份另乙個名為program.c.wrk的副本檔案。當成功完成修改時替換 program.c.wrk檔案。你還可以給自己的程式版本新增乙個日期或一些注釋,像program260505.c或programreadfnwrking.c。

4. 如果工程包含多個原始檔,則聲稱乙個readme檔案,註明每個原始檔、資料檔案、臨時檔案以及日誌檔案(如果有的話)的作用。你還可以註明編譯和執行步驟。

5. 有時候,你一定想知道為什麼if語句沒有得到預想的結果。可能你使用的是等號,也就是「=」,而不是條件判定符號「==」。乙個比較好的辦法是用相反的順序寫條件語句。因此,你的條件語句應該如下: if(10==i)…因此,如果你錯誤地寫成了單個等於號,在編譯的時候也能檢查出來並報錯。

6.使用迴圈和條件語句時,先把左右括號對應起來,然後再在裡面寫其他語句。

7. 避免使用幻數(magic numbers)。例如,不要寫

而要使用如下**:

circlearea = pi * pow(radius,2);

8.使用有意義的變數和函式名稱。例如,使用『radius』來代替圓的半徑,而不是用『r』來表示。同樣,函式名『calculatearea』要比其他任何隱晦的縮寫要好得多。匆忙之下,我們也許會使用縮寫的變數名,但一開始節省時間的話,之後會浪費更多的時間,去猜測縮寫變數名代表什麼。

9. 為後面的除錯使用列印語句,這是個好習慣。但是,當完成最後**後,去掉這些語句,有時也是一項危險的任務。新增乙個方法,用於輸出除錯資訊。當最終版本生成時,只要把這個方法注釋掉就行。因此,只在乙個地方做修改就可以了。

10. **編寫完之後,開始優化**。之前宣告的一些變數,現在可能沒用了。同樣,並不依賴迴圈的一些宣告可以移到迴圈模組之外去。紮實的編譯知識同樣會對以後的**優化有所幫助。

11. 對自己的作業系統和硬體要有足夠的了解,你可以從資源占用等方面提公升程式的效能。

12. 編寫**時要合理使用縮排,以使**清晰可讀。

13. 把專案檔案放到source、headers、make、exes等不同的資料夾中。

14. 研究別人編寫的**。這可以讓你學習到新的程式設計技術,以及他們解決和你相同的任務時所使用的方法。

15.最後一條(但不是最不重要的一條),備份源**檔案,這樣當硬碟出錯或相同的問題發生時,不至於前功盡棄。

國外大牛的黑蘋果配置清單

好吧,哥幾個一直很鄙視神碼黑蘋果的,裝個驅動什麼都蛋疼個死,看到了,轉下做個記號 這個配置據說700多美刀 cpu intel core i5 2400 amazon newegg motherboard gigabyte ga h67ma ud2h b3 amazon newegg graphic...

某大牛的入侵實戰經驗總結

不分語言,只談拿webshell,至於提權,這裡不說 1.無論什麼站,無論什麼語言,第一件事就是掃目錄,最好一下掃出個上傳點,直接上傳shell,諸位不要笑,有時候你花很久搞乙個站,最後發現有個現成的上傳點,而且很容易猜到,不過這種情況發生在asp居多!2.asp aspx mssql先考慮注入,一...

看國外言情小說經驗記錄

因為非常非常喜歡看言情 但是覺得太花時間了,而且晉江上的言情 我看了很多,略顯厭煩了,所以決定看看國外的言情 了解文化,順便學下英文了 言情 romance novel 選定了一本 sea of tranquility by katja millay,但是這本書看起來已經出版了,不知道好不好找網路資...