User Tools

Site Tools


dydaktyka:cprog:clean_code

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
dydaktyka:cprog:clean_code [2016/10/02 20:06]
pkleczek
— (current)
Line 1: Line 1:
-====== Jak uczynić Twój program czytelnym? ====== 
  
-===== Nadawaj rozsądne identyfikatory ===== 
- 
-Stosuj identyfikatory,​ które oddające rolę danej zmiennej, cel działania funkcji itp. 
- 
-===== Dokumentuj kod ===== 
- 
-Używaj komentarzy tam, gdzie to wskazane. 
- 
- 
-===== Używaj odstępów i pustych linii ===== 
- 
-Język C to język //swobodnej postaci//, czyli kompilator po prostu pomija takie znaki niedrukowane. 
- 
-Odpowiedz sobie na pytanie, co bardziej czytelne: 
-<code c> 
-int a=3;int b=2;int c,d; 
-</​code>​ 
-czy 
-<code c> 
-int a = 3; 
-int b = 2; 
-int c, d; 
-</​code>​ 
- 
-===== Umieszczaj każdą instrukcję w osobnej linii kodu ===== 
- 
-Język C dopuszcza zarówno umieszczanie wielu instrukcji w jednej linii, jak też rozbicie jednej instrukcji na wiele linii (co jednak zmniejsza czytelność). 
- 
-Kod zbyt "​rozwleczony":​ 
-<code c> 
-int 
-a 
-= 
-3; 
-</​code>​ 
-zamiast 
-<code c> 
-int a = 3; 
-</​code>​ 
- 
-Kod zbyt ,,​ściśnięty'':​ 
-<code c> 
-if (a) { printf("​Niewskazane."​) } 
-</​code>​ 
-zamiast 
-<code c> 
-if (a) { 
-    printf("​OK."​);​ 
-} 
-</​code>​ 
- 
-===== "​Złota zasada"​ ===== 
- 
-Pamiętaj -- obecnie, w dobie szybkich komputerów i dużej ilości dostępnej pamięci operacyjnej,​ głównym celem programisty staje się napisanie działającego,​ czytelnego kodu. Optymalizacje i "​sztuczki"​ zazwyczaj nie popłacają... 
- 
-===== Wcięcia ===== 
- 
-Jedną z zasad tworzenia czytelnego kodu jest umiejętne stosowanie wcięć (//​indent//​),​ które oznaczają "​poziom zagłębienia"​ kodu. \\ 
-Choć kompilator C pomija znaki białe (a więc m.in. wcięcia i znaki nowej linii), to jednak dla człowieka taki kod byłby ciężki do odczytania. 
- 
-Zasada brzmi: 
-  * początek nowego bloku instrukcji oznacza zwiększenie ilości wcięć o jeden poziom 
-  * koniec bloku instrukcji oznacza zmniejszenie ilości wcięć o jeden poziom 
- 
-Zazwyczaj stosuje się wcięcie szerokości jednego tabulatora bądź czterech spacji. 
- 
-Przykład: 
-<code c> 
-int main () { 
---->if (1) { 
---->​--->​printf("​Hello"​);​ 
---->​--->​printf("​World!\n"​);​ 
---->} 
-} 
-</​code>​ 
- 
-:!: Kwestia formatowania to rzecz umowna -- istnieją różne szkoły formatowania,​ a programiści toczą o to nieustanne "​święte wojny"​. Najważniejsza zasada brzmi: **Stosuj reguły __konsekwentnie__!** 
- 
-==== Autoformatowanie kodu z użyciem IDE ==== 
- 
- 
-Całą tą "​czarną robotę"​ związaną z formatowaniem może za Ciebie wykonać [[https://​en.wikipedia.org/​wiki/​Integrated_development_environment|IDE]] (tu: CodeBlocks). 
- 
-Aby automatycznie sformatować kod, kliknij prawym przyciskiem myszy na oknie edytora tekstu i wybierz z menu kontekstowego opcję //Format use AStyle//. 
- 
-Aby zmienić ustawienia autoformatowania wejdź w //Settings -> Editor...// i z listy z ikonami po lewej wybierz //Source formatter//​. \\ 
-W przykładach na zajęciach stosuję następujące opcje formatowania:​ 
-  * zakładka //Style// 
-    * Bracket style: K&R 
-  * zakładka //​Indentation//​ 
-    * (bez zmian) 
-  * zakładka //​Formatting//​ 
-    * Pad empty lines around header blocks (e.g. '​if',​ '​while'​...) -- zaznaczone 
-    * Insert space padding around operators -- zaznaczone 
-    * (pozostałe opcje odznaczone) 
dydaktyka/cprog/clean_code.1475431615.txt.gz · Last modified: 2020/03/25 11:46 (external edit)