JDD2014: Co Twój kod mówi do Ciebie - Mariusz Sieraczkiewicz
description
Transcript of JDD2014: Co Twój kod mówi do Ciebie - Mariusz Sieraczkiewicz
1
Między młotem a kowadłem
Pragmatym a ideologia
2
3
Co twój mózg na programowanie?
Chunks
Short-Term memory
Long-Term memory
Law of proximity
4
Long-Term memory
Discrimination net
5
Uproszczony model przetwarzania informacji
6
Cognitive load
Reduntant information Split attention effect
Expert vs. Novice
7
Analogie – naturalny pociąg do wzorca Copy-Paste
ify
switch
polimorfizm
wzorce nazw metod (np. find*)
wzorce projektowe
Reguły inżynierii oprogramowania odpowiadają bardziej temu jak
działa mózg niż regułom matematycznym
8
1. Operatory zamień na słowa 2. Klamerkę "{" po IF zamień na "then„ 3. Rozbij wieloczłonowe nazwy na pojedyncze
wyrazy 4. Z wyrażeń przypisania bierz pod uwagę tylko
prawą stronę, lewą ignoruj 5. Każdy wiersz kodu traktuj jako osobne
zdanie zakończone kropką. 6. Tak powstały tekst wklej do syntezatora
mowy 7. Jeśli to, co słyszysz (bez patrzenia na
kod), jest w pełni zrozumiałe, to kod jest czytelny :)
Test Ivony
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Charakterystyka dobrej nazwy metody
class Node
28
Nazwy a odpowiedzialność
class Node
29
Nazwy a odpowiedzialność
30
Długie nazwy mogą być konsekwencją nieużywania kontekstu lub zbyt dużych klas/metod
Co tu jest nie tak?
31
32
FLUENT NAMING AND READING ENABLERS
33
34
• Płynne czytanie
– controlSumFor(pesel)
– lastDigitOf(pesel)
– shouldBeDoneWith(lowProbability)
Fluent naming
35
36
Reading enablers
37
Bibiloteki Reading enablers
• Wykorzystuj mechanizmy poznawcze swojego mózgu
• Zadawaj sobie pytanie: Co na to by powiedziała Ivona? ;-)
• Wprowadzaj Domain/Value Object • Spłaszczaj warunki • Komponuj metody • Wykorzystuj kontekst • A może Null Object? • Lokalnie używaj fluent naming
38
Podsumowanie
? 39