A Pythonban új, bejáratott Java fejlesztőcsapatként önbizalmat, jártasságot és fenntarthatóságot akartunk építeni a Python-kóddal való munka során.

Kezdetben kihívást jelentett a Python kóddal való munka. Anekdota módon nem voltunk egyedül, a Python növekvő népszerűsége miatt ez a probléma a szélesebb szoftverközösségben.

Kihívások különösen akkor merülhetnek fel, ha a Pythonban magabiztos, de nem elsősorban szoftverfejlesztő tartományspecialisták adják át a kódot a Pythontól eltérő nyelveken tapasztaltabb szoftverfejlesztőknek. Problémák merülnek fel a kód fenntartható felépítésével, karbantartásával és támogatásával kapcsolatban.

A témáról a Cambridge Software Crafters Meetup 2018. március elején tartott megbeszélése során kiderült, hogy más szervezeteknél két másik csapat is hasonló problémákkal küzdött. Az egyik csapat AI-termékeken dolgozó adattudósokból és szoftverfejlesztőkből állt; a másik csapatunkhoz hasonlóan bioinformatikusokból és szoftverfejlesztőkből állt. Minden csapatnak volt a vágya, hogy „jó Pythont” írjon, de nem feltétlenül értette, mi a jó Python.

A következőkben az emberek tapasztalatairól beszélő és olvasott javaslataim, valamint a Python tanulásával kapcsolatos korlátozott tapasztalataim.

Szabványosítás Python 3.x-en

A Pythonnak két aktív verziója van: 2.x és 3.x. Ezeknek apró különbségei vannak, amelyek összeférhetetlenséget okoznak. A Python közösségben viták folynak arról, hogy melyik verzió a legjobb, és a Python 2.x melletti érvek főként a meglévő kódok és könyvtárak támogatására irányulnak. A Python 2.x azonban örökölt, és 2020. január 1-jén ér véget (2015-től elhalasztva). Ezt a dátumot követően nem tartják fenn. Mivel ez a dátum a projekt élettartamán belül van, már csak ezért is csak Python 3.x-en kell szabványosítani.

Olvassa el The Zen of Python (PEP 20)

A „Python Zene” a Python tervezésének vezérelveinek listája. Ez egy nagyon hasznos lista, amelyet szem előtt kell tartani a Python megértésekor.

Olvassa el, hogy a Python nem Java

A „Python nem Java” rövid blokkos bejegyzés hasznos tanácsokat ad azoknak a Java-programozóknak, akik még nem ismerik a kódírást Pythonban.

Használj PEP 8-at

A Pythonnak saját stílus útmutatója van: PEP 8. Tartsa be ezt, hacsak nincs jó okunk rá. A legtöbb IDE rendelkezik PEP 8 támogatással.

Használja a stoppos útmutatót a Pythonhoz alapértelmezett hivatkozásként

Erősen ajánlott a „The Hitchhiker’s Guide to Python” című könyv. Ez az az egyetlen könyv, amelyet minden fejlesztőnek ajánlok, hogy legyen fizikai másolata, olvassa el és tartsa az asztalán. Rövid és tömör, de lefedi mindazokat az alapokat, amelyekre a tapasztalt fejlesztőknek szüksége van az új nyelv használatához. Különösen jól magyarázza a Python eszközeit, ökoszisztémáját, idiómáit és gyakori hibáit. A "The Little Book of Python Anti-Patterns" is ajánlott.

Tekintse meg a Safari online Python további forrásait

Számos átfogóbb, fejlettebb és speciális Python-könyv áll rendelkezésre. Ezek némelyike ​​hatalmas és drága, de mindegyik elérhető a Safari Online-on. Különösen erősek az „Effective Python” és a „Fluent Python”, amelyek a haladó kezdő szinteken túlmutató Python-készségeket fejlesztenek. A legjobb könyvek közül sok az O'Reilly állatsorozatba tartozik, és lila és fehér borítója vagy piros-fehér borítója a Python speciálisabb alkalmazásaihoz.

A Safari Online is kínál „Learn Python” videokurzusokat. Ezek főként azoknak szólnak, akik nem ismerik a programozást, de hasznosak lehetnek a Python-specifikus ismeretek hiányosságainak pótlására.

Tekintse meg a Python kód jó példáit

A „Hogy néz ki a jó Python-kód?” kérdés megválaszolásának jó módja, ha a kiforrott Python-könyvtárak forráskódjára hivatkozunk. A Django forrása, a Python Web Framework különösen ajánlott a jó Python kód példájaként.

Vegyen részt a Python közösséggel

A Pythonnak nagyon erős közössége van, különösen a Stack Overflow-n, de mint minden programnyelvi közösségnek megvan a maga kultúrája és megközelítése. Az egyik figyelemre méltó szempont a zaj mértéke és a tanácsok változó minősége. Mint mindig, legyen jó döntés, amikor követi az interneten található tanácsokat.

A Python útmutatásnak sok éves története van az interneten, így nem szokatlan, hogy egy 2001-es bejegyzést olvasol. Ne feledje, hogy azóta a dolgok sokat változtak, különösen a könyvtárak és eszközök ajánlásával.
Vegye figyelembe azt is, hogy Mivel a Python 3 2008-ban jelent meg, előfordulhat, hogy a Python 2 kódját nézegetve nem veszi észre a régebbi bejegyzések olvasása közben, majd problémákat tapasztal, amikor Python 3-mal próbálja használni.

Használja a PyCharmot szöszöléssel

Bár az IntelliJ Ultimate átfogó támogatással rendelkezik, a JetBrains önálló termék, a PyCharm jobb élményt nyújt a Python fejlesztéshez, mivel Python-központú. A fejlesztőket arra bátorítjuk, hogy rendelkezzenek a PyCharm teljes licenccel rendelkező verziójával. Az eszköz szabványosítása sokkal könnyebbé teszi a páros programozást.

A „PyCharm” emellett jó munkát végez a Python-kód PEP 8-as statikus elemzésében is, de nem fog mindent. Ehhez javasoljuk a PyCharm külső Pylint eszközének használatát is.

Alkalmazz XP technikákat

Az „Extreme Programming” (XP) technikák, különösen az egyszerű tervezés, a páros programozás, a tesztvezérelt fejlesztés és újrafeldolgozás nagyon kívánatos a Python kódhoz. A páros programozás különösen kiváló módja a tudás megosztásának a csapatban és a nyelvtanulás gyors előrehaladásának, ezért erősen ajánlott.

A statikus gépelés hiánya még hasznosabbá teszi a tesztvezérelt fejlesztést. A „Stoppos útmutató a Pythonhoz” jó áttekintést ad a Python egység teszteléséről, a „Test-Driven Development with Python” című könyv pedig sokkal részletesebben foglalkozik a témával.

A folyamatos integrációs eszközök, mint például a „Travis CI”, szintén jól működnek a Python-nal, csakúgy, mint más nyelvekkel, és ezeket a GitHub-tárolókban olyan lefedettségi és kódminőségi eszközzel együtt kell használni, mint a „CodeCov” és a „Code Climate”.

A kódok áttekintése is erősen ajánlott, a tapasztaltabb Pythonisták a DCP-n keresztül hajlandóak áttekinteni a kódot. A nyílt online párosítási munkamenetek szintén nagyszerű lehetőséget nyújtanak a kóddal kapcsolatos visszajelzések megszerzésére. Adja hozzá a DCP-naptárhoz, és tegye közzé a Slacken.

A Clean Code irányelvei továbbra is érvényesek

A Clean Code irányelvei, különösen a SOLID alapelvek, ugyanolyan hasznosak a Python kódhoz, mint bármely más nyelvhez, és alkalmazni kell őket.

Kezelje a tesztek nélküli kódot örökölt kódként

Ha tesztek nélküli kóddal szembesül, kezelje azt örökölt kódként, a „Hatékony munka a régi kóddal” című részben tárgyalt módszerek használatával, például építési tesztekkel, amelyek lehetővé teszik az újrafaktorálást a meglévő funkciók megszakítása nélkül.

Hagyjon teret a szándékos gyakorlásnak

Hetente egy órában erősen ajánlom a csapatnak, hogy jöjjön össze és párosítsa a programot a Coding Dojo Handbook katáján Python segítségével. A formátumnak magában kell foglalnia két 25 perces „Pomodoros” munkát, és félúton partnert kell cserélni. Ennek a gyakorlatnak az a célja, hogy biztonságos helyet teremtsen a normál munkán kívül, ahol lelassíthatja a dolgokat, és a tanulásra és a dolgok helyes elvégzésére összpontosíthat.