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
0
59
Čtvrtkon #1 - Čistý kód
Václav Novotný
June 07, 2013
Tweet
Share
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
42
Čtvrtkon #3 - Git
ven
0
28
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
910
How Community Opened Global Doors
hiroramos4
PRO
1
120
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
120
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
4
570
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
250
~宇宙最速~2025年AWS Summit レポート
satodesu
1
1.9k
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
17
5.8k
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
150
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
640
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
140
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
290
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.1k
Featured
See All Featured
Visualization
eitanlees
146
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
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