Makosa Yanayofanywa na Watengenezaji Programu Wachanga

Kutoa kodi inayofanya kazi ni kiwango cha chini kabisa. Sio lengo kuu.

Nilishawahi kupitia pull request iliyochukua dakika 45 kueleweka. Mantiki ilikuwa sahihi. Majaribio (tests) yalipita. Lakini kodi iliandikwa kana kwamba mwandishi pekee ndiye atakayewahi kuisoma.

Nilipotoa maoni, mtengenezaji alisema, "Lakini inafanya kazi."

Walikuwa sahihi. Ilifanya kazi. Hapo ndipo palikuwa na tatizo.

Watengenezaji programu wachanga mara nyingi hujikita kwenye ujuzi wa kiufundi. Lakini mapungufu ya kweli mara nyingi yapo kwenye tabia na mtazamo.

Hapa kuna makosa madogo yanayokuchelewesha:

  • Kuandika kwa ajili yako badala ya wengine Kodi husomwa mara nyingi zaidi kuliko inavyoandikwa. Kazi (function) unayoandika leo inaweza kuguswa na watu watatu tofauti katika kipindi cha miaka miwili. Ikiwa mtu asiyejulikana hawezi kuelewa kodi yako ndani ya sekunde 30, umefeli.

  • Kunakili kodi bila kuielewa Kutumia Stack Overflow ni sawa. Kunakili mfumo wa regex bila kujua jinsi unavyofanya kazi ni hatari. Unatengeneza black box kwenye kodi yako. Huwezi kuifanyia debugging inapoharibika.

  • Kuongeza utata usiohitajika Wachanga mara nyingi huchukulia utata kama ishara ya ujuzi. Wanatumia mifumo ya usanifu (design patterns) kwenye kazi rahisi. Ufanyaji wa abstraction usiohitajika hufanya kodi kuwa ngumu zaidi kufanyia debugging na ngumu zaidi kubadilisha. Ongeza abstraction pale tu unapohisi upungufu wake.

  • Kupuuza ujumbe wa makosa (error messages) Ujumbe wa makosa ni nyaraka (documentation) za bure. Usikimbilie Google mara tu unapoona stack trace. Soma ujumbe mzima. Mara nyingi unakuambia ni mstari gani ulioshindwa na kwa nini.

  • Kuomba msaada mapema mno au kuchelewa mno Usitumie saa tatu ukikwama kwenye tatizo la dakika 10. Hiyo si ufanisi. Lakini usimtumie mtu mwandamizi (senior) picha tu (screenshot) bila maelezo. Tumia kanuni ya dakika 20: tumia dakika 20 kujaribu kutatua. Andika kile ulichojaribu. Kisha omba msaada ukiwa na maelezo hayo.

  • Kutengeneza upya kile ambacho tayari kipo Kabla ya kuandika kifaa (utility) kipya, tafuta kwenye codebase. Timu yako pengine tayari imeshatatua tatizo hilo.

  • Ujumbe mbaya wa commit Ujumbe wa commit kama "fix bug" hauiambii timu yako chochote. Eleza nini kimebadilika na kwa nini. Chukulia historia ya Git kama nyaraka.

  • Kuchukulia mahitaji kama sheria Mahitaji mara nyingi hukosa hali za kipekee (edge cases). Usitekeleze tu kile unachoambiwa. Uliza nini kitatokea mambo yanapoharibika.

  • Kuishia kwenye kitufe cha "Merged" Uwajibikaji haunaishia wakati PR yako inapounganishwa (merged). Fuatilia kipengele chako hadi kwenye QA. Kifuatilie wakati kikiwa kwenye uzalishaji (production). Soma ripoti za makosa.

Pengo kubwa ni uwajibikaji. Watengenezaji programu wamandamizi (senior developers) hawaandiki kodi tu. Wanatatua matatizo bila kutengeneza mengine mapya.

Acha kuboreshea "kukamilika." Anza kuboreshea "ubora."

Chanzo: https://dev.to/jasda_cf511abd504d201e7bd/the-mistakes-junior-developers-keep-making-that-senior-devs-stopped-talking-about-2pe6