一個程式的週期不只有 key in 程式碼而已,包含了requirement、design、implementation、testing、maintenance。有一些好習慣從平常就要養成,習慣不好,程式寫得再快都沒有用,日後有可能在 maintenance 時就賠上了大半時間。
為了讓自己可以安穩的睡一覺,還是趁早把基礎打好吧。在網路上已經有很多現成的 rule 可以依循,不需要自己發明,除非用了以後發現有更適合自己的地方。
Coding Style
有句話是這麼說的:任何人都可以寫得出電腦看得懂的程式,但要讓『人』看得懂,不是一件容易的事情!Run 比較久公司,可能內部自己就有一套 coding style,也可以在 google 搜尋一些 keyword: coding style, coding standard, programing guideline
- Indent style - Wikipedia, the free encyclopedia
- GNU Coding Standards
- google-styleguide
- Gary's的C/C++ coding standard - GaryLee
- C++ Programming Style Guidelines
自己就看得順眼的先找一套來使用吧,我自己寫 C 語言比較多,follow 的 style 比較偏向 K&R。
比較強的 IDE 都有內建排版,像是 Eclipse 預設就有 K&R、BSD、GNU...等方式,也可以根據樣板再去做修改,透過軟體排版會快很多。
Naming Convention (Naming Rule)
好的命名法對於程式可讀性是會大大加分的,其範疇包含了程式內部變數、檔案名稱、外部參數,其實命名法也沒有一個制式規定,但有一些約定成俗的法則。最常聽到的應該是『匈牙利命名法』,有很清楚的規範,但如果完全照著走就會發現變數變得很冗長...
另外還有『駝峰式命名法』也是常見的
根據不同的語言、平台,都有自己的一套命名法,這些『約定成俗』的名稱,我還沒辦法整理出可以遵循的 rule,真的得靠臨摹別人的程式來習得,多看一些 open source project 吧。
Documentation
Programer 好像都蠻討厭寫文件的,但很抱歉,你可能需要開 API 給別人,日後需要轉交給同事,或是自己因為時間久了也會忘記,所以寫文件真的蠻必要的。Software design document (SDD) 算是我有認為比較常用的一種,裡面包含了 data design、architecture design、interface design、procedural design。但真正常用的還是只有 data structure 與 API,這時候就要介紹一下 doxygen,也就是把文件跟 code 結合在一起,方便維護。按照 doxygen 的格式去寫註解,最後可以產生 html 或 pdf 的文件。
c - Tools to get a pictorial function call graph of code - Stack Overflow
另外,在這篇有提到蠻多工具可以把 function call 畫成圖片,也就是流程圖,這對於 trace code 有些幫助!但 function call 應該是在 design 階段就劃分好,否則輸出的流程太雜亂幫助也不大。
https://bayanlarsitesi.com/
回覆刪除Büyükada
Gürsel
Cumhuriyet
Kilyos
NF8S
sakarya
回覆刪除elazığ
sinop
siirt
van
İSGE2
ankara parça eşya taşıma
回覆刪除takipçi satın al
antalya rent a car
antalya rent a car
ankara parça eşya taşıma
X1DRXM
8BD6B
回覆刪除Ünye Çatı Ustası
Malatya Evden Eve Nakliyat
Düzce Şehir İçi Nakliyat
Ünye Mutfak Dolabı
Zonguldak Lojistik
Osmaniye Lojistik
Malatya Parça Eşya Taşıma
Kayseri Lojistik
Iğdır Lojistik
66688
回覆刪除Kütahya Lojistik
Ünye Halı Yıkama
Aksaray Şehirler Arası Nakliyat
İstanbul Şehirler Arası Nakliyat
Kırklareli Parça Eşya Taşıma
Afyon Parça Eşya Taşıma
Muğla Parça Eşya Taşıma
Ünye Asma Tavan
Trabzon Şehir İçi Nakliyat
CC698
回覆刪除Mersin Şehirler Arası Nakliyat
Kırklareli Parça Eşya Taşıma
Hakkari Parça Eşya Taşıma
Çerkezköy Kurtarıcı
Malatya Evden Eve Nakliyat
Adana Parça Eşya Taşıma
Artvin Evden Eve Nakliyat
Kırşehir Evden Eve Nakliyat
Ünye Televizyon Tamircisi
CE8EB
回覆刪除Artvin Parça Eşya Taşıma
Çanakkale Şehirler Arası Nakliyat
Çorum Şehir İçi Nakliyat
Kırıkkale Lojistik
Çerkezköy Oto Boya
Kilis Şehir İçi Nakliyat
Yalova Evden Eve Nakliyat
Şırnak Evden Eve Nakliyat
Ünye Halı Yıkama
B4281
回覆刪除Çerkezköy Cam Balkon
Düzce Şehirler Arası Nakliyat
Osmaniye Şehir İçi Nakliyat
Iğdır Şehirler Arası Nakliyat
Antalya Şehirler Arası Nakliyat
Silivri Duşa Kabin Tamiri
Sakarya Lojistik
Çerkezköy Evden Eve Nakliyat
Erzincan Şehir İçi Nakliyat
3AF7C
回覆刪除binance kod
5745C
回覆刪除Sui Coin Hangi Borsada
Pepecoin Coin Hangi Borsada
Mexc Borsası Güvenilir mi
Binance Referans Kodu
Vector Coin Hangi Borsada
Tiktok Takipçi Satın Al
Twitch İzlenme Hilesi
Bitcoin Madenciliği Nedir
Mexc Borsası Kimin
4D8BF
回覆刪除dexscreener
zkswap
trezor suite
eigenlayer
satoshivm
spookyswap
dexview
pinksale
layerzero
E36B7
回覆刪除btcturk
bingx
bitcoin giriş
binance referans
referans kod
coin nereden alınır
4g mobil proxy
paribu
binance ne demek
86878
回覆刪除en az komisyon alan kripto borsası
bingx
gate io
okex
telegram türk kripto kanalları
kucoin
referans kimliği nedir
aax
bitcoin nasıl kazanılır
4A08D
回覆刪除görüntülü show
1D86417333
回覆刪除kavaswap
puffer
hamster kombat
aethir
rocketpool
galxe
tokenfi
dymension
dogwifhat
D0FCB86915
回覆刪除sinegra
vigrande
novagra
bufalo çikolata
stag
kaldırıcı
geciktirici
sertleştirici
viga