Editing
Jak zorganizovat vícejazyčný projekt bez chaosu
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
<br>Dalším častým problémem je délka textu. Anglické věty bývají kratší než české, ale němčina umí být naopak delší. Pokud navrhujete UI, myslete na to, že tlačítko, které se vejde [https://citiesofthedead.net/index.php/Jak_zrychlit_datab%C3%A1zov%C3%A9_dotazy_v_SQL barvy stěn do obýváku] pěti znaků v angličtině, může mít v češtině patnáct. Rezervujte si v rozvržení dostatek prostoru a otestujte každý jazyk zvlášť. Ideální je rovnou nasadit automatické testy, které kontrolují, zda text nepřetéká z kontejneru.<br><br>Začněte tím, že si v projektu vytvoříte samostatný testovací projekt. Doporučený postup je přidat nový projekt typu xUnit nebo NUnit přes šablonu v IDE, ale pokud dáváte přednost čistému CLI, použijte příkaz pro vytvoření nového projektu s podporou NUnit. If you have any questions relating to wherever and how to use [http://Orasch.com/index.php?title=Rychlej%C5%A1%C3%AD_refaktorov%C3%A1n%C3%AD_k%C3%B3du_pomoc%C3%AD_vestav%C4%9Bn%C3%BDch_n%C3%A1stroj%C5%AF_IDE Orasch.com], you can call us at our own web page. Do testovacího projektu pak přidejte odkaz na zdrojový projekt, který chcete testovat. Tím zajistíte, že testy mají přístup k veřejným typům a metodám, ale zároveň nejsou závislé na interních detailech implementace.<br><br>Na závěr: testy nejsou jen pojistka proti regresím. Jsou také živou dokumentací, která ukazuje, jak váš kód skutečně funguje. Pokud tedy píšete testy až po implementaci, zkuste občas postupovat opačně — nejprve test a potom implementaci. Tento přístup, známý jako TDD, vás donutí přemýšlet o rozhraní dřív, než začnete psát kód. NUnit vám k tomu dává všechny potřebné nástroje, takže neváhejte a začněte s jednoduchým projektem, abyste si osvojili základní vzory.<br><br>Když v jednom projektu kombinujete češtinu, angličtinu a třeba němčinu, rychle zjistíte, že hlavní problém není psaní textů, ale jejich údržba. Bez jasného systému se vám kód promíchá s překlady a každá změna zabere trojnásobek času. Základem je oddělit obsah od logiky – texty patří do externích souborů, ne přímo do zdrojového kódu. Tím získáte možnost měnit překlady bez zásahu do programátorské části.<br><br>Nejprve si definujte strukturu klíčů. Každý řetězec by měl mít unikátní identifikátor, který popisuje jeho účel, ne doslovný překlad. Místo „login_button" použijte „auth.login.submit". Tento přístup vám umožní měnit znění bez ohledu na to, kde se text používá. Důležité je také dodržovat konzistenci v pojmenování – pokud jednou použijete tečky, používejte je všude. Jinak se v projektu brzy ztratíte.<br><br>Pozor na použití statických metod a stavů. Pokud testujete kód, který spoléhá na statické proměnné nebo na sdílené zdroje (např. databázi, souborový systém), testy se stanou vzájemně závislými a jejich výsledky se mohou měnit v závislosti na pořadí spuštění. Řešením je použít dependency injection nebo alespoň izolovat testy pomocí [SetUp] a [TearDown] metod, které zajistí čisté prostředí pro každý test. Dalším typickým problémem je testování soukromých metod — pokud to není nezbytně nutné, vyhněte se tomu. Testujte veřejné rozhraní, protože to je to, co uživatelé vašeho kódu skutečně používají.<br>Klíčové dovednosti pro bezproblémovou spolupráci s API Jakmile překonáte první kroky, zaměřte se na autentizaci. Mnoho API vyžaduje takzvaný klíč, který si zaregistrujete v developerském účtu. Tento klíč posíláte v hlavičce požadavku, a to vždy přes zabezpečené připojení. Nikdy ho neukládejte přímo do kódu, který by se mohl dostat na veřejnost – použijte proměnné prostředí. Častým omylem je posílat klíč jako běžný parametr v adrese, což je nebezpečné a některé služby to rovnou zakazují.<br><br>Praktické psaní testů a časté chyby Základní jednotkou je metoda s atributem [Test]. Dobrý test by měl být nezávislý, opakovatelný a měl by ověřovat jedno konkrétní chování. Častou chybou je testovat více scénářů v jedné metodě — pak při selhání nevíte, která část selhala. Místo toho použijte parametrizované testy s [https://www.Martindale.com/Results.aspx?ft=2&frm=freesearch&lfd=Y&afs=atributem atributem] [TestCase], které umožní oddělit vstupy a očekávané výstupy. Například pro metodu, která počítá faktoriál, můžete napsat [TestCase(0, 1)], [TestCase(1, 1)] a [TestCase(5, 120)], čímž pokryjete hraniční i běžné případy.<br><br>Jak správně začlenit dokončenou práci zpět Jakmile je práce hotová, přijde na řadu merge request nebo pull request. Než začnete začleňovat, vždy si stáhněte nejnovější změny z hlavní větve a rebase váš pracovní větev na ni. Rebase místo merge udělá historii lineárnější a srozumitelnější. Poté spusťte testy a zkontrolujte, že se nic nerozbilo. Při začleňování dávejte přednost merge s squash, tedy sloučení všech commitů do jednoho. Výsledkem je čistá historie, kde jeden úkol odpovídá jednomu commitu.<br><br>Psaní unit testů patří k základním dovednostem každého vývojáře, který chce dodat spolehlivý kód. NUnit je jedním z nejpoužívanějších frameworků pro testování v ekosystému .NET. Nejde přitom jen o samotné spuštění testů — důležité je, jak testy navrhnete, jak je strukturu jete a jak se vyhnete běžným pastem, které testy činí křehkými nebo zbytečnými.<br>
Summary:
Please note that all contributions to Rikkiepedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Rikkiepedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information