Kód by měl odpovídat popisu přirozeným jazykem
1 minTLDR: Bohužel nemáme. Prostě si to přečti, zabere to 2 minuty. Juniorní kolega jednou napsal následující kód: public string NameShortener(string name) { var newName = ShortenNameTo5Characters(name); if (name.Contains("OurCompanyName")) { n...
Guard clause
1 minTLDR: Happy path by většinou neměla být zanořená do if větví. Namísto public void ProcessOrder(Order order) { if (order != null) { if (order.Items != null && order.Items.Count > 0) { if (order.CustomerId > 0) { CalculateTotals(order); Save...
Nebezpečný single responsibility principle
3 minSingle responsibility principle (SRP) je definován následujícím způsobem: "Class or module should have one, and only one, reason to change."[1], neboli "třída nebo modul by měly mít pouze jeden důvod ke změně". V tomto článku si ukážeme, pr...
Jednořádkové metody
1 minTLDR: Obalit jeden řádek kódu metodou může být někdy užitečné. Dokážete na první pohled říct, co tento kód dělá? public IEnumerable<Products> GetProducts() { //... var orderedProducts = products.OrderBy(x => !x.IsDisabled); //... } product...
Buď explicitní
3 minTLDR: Čím obecnější kód píšeme, tím méně informací v kódu zůstává. Snažte se jasně a přesně zapsat myšlenku do kódu a nenechte čtenáře hádat. // Kód je zjednodušený pro ukázku public string GetWebsiteUrl( string shopId, string? itemUrl) ...
XUnit vs NUnit
6 minTLDR: NUnit je lepší než xUnit – má více možností setupu, lepší dokumentaci, lepší asserty a lepší testovací atributy. Pokud vygooglíte „xUnit vs NUnit“, najdete mnoho článků, které považují xUnit za lepší testovací framework. Následující...