Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Čtvrtkon #1 - Čistý kód
Search
Václav Novotný
June 07, 2013
Technology
65
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Čtvrtkon #1 - Čistý kód
Václav Novotný
June 07, 2013
More Decks by Václav Novotný
See All by Václav Novotný
Čtvrtkon 06.06. 2013 - Composer
ven
1
730
Čtvrtkon #1 - Refactoring
ven
0
48
Čtvrtkon #3 - Git
ven
0
31
Other Decks in Technology
See All in Technology
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
180
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
Netflix の裏側に何があるのか...その謎を解明すべく、我々は Amazon の奥地へと向かった
kentosuzuki
0
110
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
370
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
20
7.2k
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
280
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
1
920
AIのためのEthernet技術動向 (SerDes)
markunet
1
310
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
700
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
:syncing_time:
sksat
2
700
Featured
See All Featured
We Are The Robots
honzajavorek
0
310
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
480
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
660
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The SEO identity crisis: Don't let AI make you average
varn
0
540
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
280
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
WCS-LA-2024
lcolladotor
0
810
Prompt Engineering for Job Search
mfonobong
0
420
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Transcript
Čistý kód Václav Novotný, 6. září 2012, Čtvrtkon #1 (http://www.ctvrtkon.cz)
Definice čistého kódu Nečekejte exaktní definici.
Co tedy je čistý kód? Je to kód psaný někým,
kdo není prase je pečlivý.
http://www.osnews.com/story/19266/WTFs_m
Proč být pečlivý? Protože je to to nejlepší, co pro
sebe jako programátora můžete udělat. • méně starostí • méně stresu • méně nadávek (na vás)
A nejen pro sebe... S pečlivým programátorem je radost spolupracovat
:)
Proč je čistota kódu důležitá? Fatálně ovlivňuje cenu změn a
oprav v programu. Závažnost roste s počtem lidí v teamu
Aspekty čistého kódu
největší problém v historii programování Pojmenovávání
Pojmenovávání • vybírejte srozumitelné názvy • název musí odpovídat skutečnosti
• berte názvy z reálného světa • nemaťte kolegy
Rozklad odpovědností méně je více
Rozklad odpovědností • pište krátké metody • dělejte v metodě
pouze jednu věc • pracujte v jedné vrstvě abstrakce
Komentáře hodnotné komentáře lidé čtou
Komentáře • komentuje vnější chování • komentáře musí být aktuální
• objasňujte možné WTF • standardizovaný zápis • @todo
Formátování kódu důležitá banalita
Formátování kódu • dohodněte si konvence • automatická kontrola -
PHP CodeSniffer
Zpracování chyb občas to někde bouchne
Zpracování chyb • piště defenzivně • používejte výjimky • nečekejte,
že se "to" nestane
Testování testování je nutnost
Testování • nějaký test lepší než žádný test (nenechte se
ale ukolébat!) • automatizujte testy • používejte testovací frameworky • xUnit (PHPUnit)
Refactoring průběžné vylešování kvality
Refactoring • nedílná součást vývoje • nikdy nepřidávejte novou funkcionalitu
• bez testů nesrovnatelně obtížnější
Dotazy?
Děkuji za pozornost @VaclavNovotny