- Leicht lesbarer und leicht verständlicher Code sollte Zeile für Zeile kurz sein
- Das menschliche Gehirn arbeitet mit drei Funktionen gleichzeitig: Langzeitgedächtnis (LTM), Kurzzeitgedächtnis (STM) und Arbeitsgedächtnis (WM)
- Der Platz im Kurzzeit- und Arbeitsgedächtnis ist sehr klein, sodass jeweils nur 4–6 Elemente gleichzeitig gespeichert werden können
- Wenn also eine Codezeile 6 oder mehr Informationseinheiten enthält, sollte sie gemäß der „Rule of Six“ vereinfacht werden
- Wenn Code komplex ist, sollte er aufgeteilt werden – SIMPLE: Split Into MultiPle LinEs
map(lambda x: x.split('=')[1], s.split('?')[1].split('&')[-3:])
Wenn man das aufteilt, ergibt sich
query_params = s.split('?')[1].split('&')[-3:]
map(lambda x: x.split('=')[1], query_params)
Da es immer noch mehr als 6 sind, kann man es noch einmal aufteilen
url_query_string = s.split('?')[1]
query_params = url_query_string.split('&')[-3:]
map(lambda x: x.split('=')[1], query_params) - Verwendet man die MORF-Strategie (Move Out and Rewrite as a Function), ergibt sich
def query_params(url):
ㅤㅤquery_string = url.split('?')[1]
ㅤㅤreturn query_string.split('&')[-3:]
map(lambda x: x.split('=')[1], query_params(s))
5 Kommentare
Oh, das Beispiel ist wirklich großartig haha
Ich mochte instinktiv nie Einzeiler – das war wohl der Schrei meines Gehirns.
Das am Ende des verlinkten Artikels vorgestellte Buch ist hierzulande unter dem Titel Programmiererhirn: Alles aus der Kognitionswissenschaft, was hervorragende Programmierer wissen sollten in Übersetzung erschienen. Die im Artikel vorgestellten Inhalte werden dort etwas ausführlicher behandelt.
Ich habe es auch gelesen, der obige Inhalt stand dort bereits.
Das muss ich mir mal durchlesen! Danke~