Namna ya kupangilia Python Code kwa kutumia Black

Davis David
6 min readJun 18, 2022

--

Picha ya Christina Morillo kutoka Pexels:

Karibu katika makala yangu ya kwanza katika lugha ya kiswahili ili kujifunza mambo ya teknolojia. Kiswahili ni kati ya lugha 10 zinazozungumzwa na watu wengi zaidi ulimwenguni, ina wazungumzaji zaidi ya milioni 200.

Changamoto ya lugha ya kiswahili ni baadhi misamiati yake katika mambo ya teknolojia ni ngumu kwa msomaji kuweza kuilewa ukiitafsiri toka kwenye lugha ya kiingereza.Kwa mfano maneno ya teknologia katika lugha ya kiingereza kama vile “array”,”terminal”,”algorithm”,”debug”,”install” n.k ni ngumu kutafsiri katika lugha ya kiswahili na kueleweka kwa msomaji pasipo changamoto yoyote.

Hivyo katika makala hii kuna sehemu utaweza ona maneno katika lugha ya kiingereza na mengine yatakuwa kwenye mabano “( )” ili uweze kukurahisishia kuelewa kinachomaanishwa.

Karibu ..🚀

Python ni programming language ambayo mara nyingi hutumiwa kuunda tovuti(website), programu(softwares)na kufanya uchambuzi wa data(Data Analysis). Pia inaweza kutumika kuunda programu(softwares) tofauti tofauti na sio maalum kwa shida zozote mahususi.

Picha ya Christina Morillo kutoka Pexels:

Python ni programming language ambayo inatumiwa na makampuni makubwa duniani ya teknologia kama vile Intel, IBM, NASA,Facebook,Google (tovuti ya Youtube imetengezwa kwa sehemu kubwa kwa kutumia Python), Reddit,Pinterest pamoja na Instagram.

Kuandika code ya Python ni jambo moja na kuandika code katika muundo mzuri ni jambo lingine. Watengenezaji programu wachanga mara nyingi huzingatia kuhakikisha kuwa code zao zinafanya kazi na kusahau kupangilia code vizuri.

Ukiandika programu ndogo (iliyo na mistari 1000 ya code)) pengine unaweza kuendela bila kupangilia (formatting) code yako.

Lakini kadiri programu zinavyozidi kuwa ngumu, code inakuwa ngumu zaidi(complex) na ngumu kuelewa. Wakati umeandika na kufikia hatua fulani(karibu mistari 15,000 ya code), inakuwa vigumu kuelewa code ambao wewe mwenyewe uliandika.

Tofauti kati ya kufanya kazi kwenye code iliopangiliwa vyema na kufanyia kazi code iliopangiliwa vibaya ni sawa na tofauti kati ya kuishi katika jumba la kifalme na kuishi katika nyumba chafu.

Kwa Nini Kupangilia(formatting) Python Code Ni Muhimu?

1.Uwezo wa kusomeka (Readability)

Picha kutoka Unsplash

Kupangilia code yako kutakusaidia kusoma code yako kwa ufanisi. Code inaonekana kupangiliwa kwa usahihi zaidi, na mtu anapoitazama code yako atapata mwonekano mzuri.

2.Itasaidia Katika Coding Interviews

Picha ya Christina Morillo kutoka Pexels:

Unapokuwa kwenye Coding interview, wakati fulani wanao kuhoji watajali ikiwa unapanga code zako ipasavyo. Ukisahau kufanya hivyo, unaweza kupoteza matarajio yako ya kupata kazi, kwa sababu tu ya code zako zilizopangiliwa vibaya.

3.Usaidizi Wa Timu

Picha ya Jopwell kutoka Pexels:

Kuunda code zako kunakuwa muhimu zaidi unapofanya kazi katika timu. Watu kadhaa wanaweza kuwa wanafanya kazi kwenye mradi(project) sawa wa kutengeneza software na code unazoandika lazima zieleweke na wenzako katika timu. Vinginevyo inakuwa vigumu kufanya kazi kwa pamoja.

4.Inafanya Iwe Rahisi Kugundua Makosa (Bugs)

Picha ya olia danilevich kutoka Pexels:

Code zilizopangaliwa vibaya zinaweza kufanya iwe vigumu sana kuona makosa(bugs) au hata kufanya kazi kwenye programu. Pia ni ngumu sana kutazama kwa kuwa haipo katika mpangilio mzuri wa kusomeka na kueleweka. Ni kosa kwa macho yako.

Pylint na Flake8

Python developers wengi wanafurahiya kutumia Plint au Flake8 kuangalia makosa kwenye code na miongozo ya namna ya kupangilia code.

Pylint ni tool ambayo hukagua makosa katika Python. Inajaribu kuhakikisha unafuata coding standard. Pia inaweza kutafuta makosa ya aina fulani, inaweza kupendekeza mapendekezo kuhusu jinsi unaweza andika code katika sehemu mahususi inayoweza kubadilishwa, na inaweza kukupa maelezo kuhusu code’s complexity.

Flake8 ni Python library ambayo hujumuisha PyFlakes, pycodestyle na script ya Ned Batchelder ya McCabe. Ni library nzuri ya kuangalia code base dhidi ya coding style(PEP8),makosa katika programming kama vile “library iliyoingizwa lakini haijatumika”, “Jina lisilofafanuliwa (undefined name)” na code ambao haujaingizwa ndani(code which is not intented).

Shida ni kwamba tools hizi zinaripoti tu shida wanazoainisha kwenye source code na kuwaachia mzigo kwa Python developers kuzirekebisha!

Lakini vipi ikiwa tungekuwa na python package ambacho inaweza kutambua na kutatua tatizo kwa wakati mmoja? Black ni python package inayokuruhusu kutambua makosa na kupangilia Python code kwa wakati mmoja. Kwa hivyo inakufanya uwe na tija zaidi (more productive).

Utangulizi wa Black

Nembo ya Black

Kutoka kwa mradi (project) README:

Kwa kutumia Black, unakubali kuacha udhibiti wa minutiae ya upangiliaji kwa kutumia mkono(hand-formatting). Black hukupa kasi, uamuzi, na uhuru kutoka kwa pycodestyle kukusumbua kuhusu upangiliaji wa code. Black itakusaidia kuokoa muda na nguvu za kiakili kwa mambo muhimu zaidi.

Black inaweza rekebisha faili yako yote mahali pake kulingana na black code style. Husaidia ubongo wako kuangazia tatizo unalotaka kutatua na suluhu za code, badala ya kukengeushwa na muundo code (structure) na tofauti ndogo za kimtindo (code style).

Basi hebu tuone jinsi ya kuitumia.

Sakinisha Black (Install Black)

Black inaweza kuwa installed kwa kutumia pip install black. Inahitaji Python 3.6.0+ ili kuweza kuitumia. Mara Black inapokuwa installed, utakuwa na tool mpya ya command-line inayoitwa black inayopatikana kwako kwenye shell na mpaka hapo utakuwa uko tayari kuanza kuitumia!

Ili kuanza mara moja kwa kutumia default settings, chagua faili ya python unayotaka kurekebisha kisha uandike black faili-yangu.py kwenye terminal. Kisha Black itapangilia faili yako ya python.

Sasa tunaweza ona nini Black inaweza kutusaidia kufanya.

Jinsi ya Pangalia Faili Moja(How to Format a Singlie File)

Wacha tuangalie mfano huu rahisi: hapa kuna functions zangu mbili za Python kwenye faili yangu ya python inayoitwa sample_code.py . Function ya kwanza ni ya kujumulisha (add) na function ya pili ni ya kutoa (sub).

sample_code.py

Unaweza kutumia black sample_code.py kwenye terminal ili kubadilisha upangiliaji(format). Baada ya kutumda Black, utaona matokeo yafuatayo:

matokeo

Basi unaweza kufungua sample_code.py kuona code za python zilizopangiliwa kihusahihi:

formatted code

Python code sasa imepangiliwa na inasomeka kwa ufasaha.

Jinsi ya kupangilia Faili Nyingi(How to Format Multiple Files)

Ili kupangilia(format) zaidi ya faili moja ya python, andika black jina_la_folder/ kwenye terminal.

kupangilia zaidi ya faili moja la python

Faili tatu za python ndani ya folder inayoitwa python_with_black zimerekebishwa.

Kuangalia Faili kama Zinahitaji Kupangiliwa (Checking Files for Formatting)

Ikiwa hutaki Black ibadilishe faili yako, lakini ungependa kujua kama Black imegundua faili inapaswa kubadilishwa/kupangiliwa kwa usahihi, unaweza kutumia mojawapo ya command zifuatazo:

black —-check . :Hii command itaangalia ni faili gani za python zinaweza kupangiliwa kwa usahihi kwenye folder uliopo (lakini haibadilishi faili za python kwa wakati huo).

Angalia faili za kuzipangiliwa kwa usahihi (check files to format)

black — check — diff jina_la_file.py :Hii command inaonyesha kile kinachohitajika kupangiliwa kwenye faili lakini haibadilishi faili.

Angalia utofauti baada ya kupangiliwa (check diff after formatting)

Ujumuishaji Wa Editor (Editor Integration)

Kumbuka: “Editor” ni software inayoweza kukusaidia kuandika code.

Unaweza kujumuisha(intergrate) Black na Editor unayowapenda. Kwa sasa Black inafanya kazi kwenye PyCharm/IntelliJ IDEA, Wing IDE, Vim, Visual Studio Code, Sublime Text 3, Atom/Nuclide, Kakoune, na Thonny. Fuata maagizo hapa ili kujumuisha Black katika Editor unayoipenda.

Iwapo ungependa kujifunza zaidi kuhusu Black, ninapendekeza utazame mazungumzo ya PyCon 2019 kutoka kwa Łukasz Langa.

Ikiwa umejifunza jambo jipya au umefurahia kusoma makala hii, tafadhali shirikisha kwa wengine ili waweze kuiona na kusoma makala hii. Hadi wakati mwingine, tuonane kwenye makala linalofuata!

Pia naweza kupatikana kwenye Twitter @Davis_McDavid.

--

--

Davis David
Davis David

Written by Davis David

Data Scientist 📊 | Software Developer | Technical Writer 📝 | ML Course Author 👨🏽‍💻 | Giving talks. Check my new ML course: https://bit.ly/OptimizeMLModels

No responses yet