Wakala wangu wa Coding Alikumbuka Vipindi, siyo Kazi
Wakala wa coding anaweza kuweka mfululizo wa mazungumzo (thread) hai lakini bado akaonekana kama anasahau.
Nilikutana na tatizo hili wakati nikitengeneza CliGate. Nilirekebisha mwendelezo wa kipindi (session continuity), lakini kazi zinazojirudia zilibaki kuwa nzito.
Wakala alikumbuka mazungumzo, lakini hakukumbuka kazi.
Mwendelezo wa kipindi unatatua tatizo moja. Unaruhusu amri za kufuata kama:
- endelea
- fanya vivyo hivyo kwa faili hili
- jaribu tena hiyo
- eleza kosa
Hii ni muhimu kwa mtiririko. Lakini inafeli unaporudia mchakato wa kazi (workflow) siku kadhaa baadaye.
Ikiwa wakala anajifunza ni kitufe gani kinafanya kazi au ni hatua gani haina matokeo, kipindi kimoja kilichofunguliwa hakitoshi. Wakala anahitaji kukumbuka ni nini kilichofanya mchakato wa mwisho ufanikiwe.
Mchakato wa kwanza ndio wenye gharama kubwa zaidi. Hapo ndipo wakala anapogundua maelezo madogo:
- menyu fulani inaficha kitendo fulani
- edita ni iframe
- mradi unahitaji mitindo maalum ya majibu
- URL ya mazingira (environment) ni tofauti na ya uzalishaji (production)
Kabla ya marekebisho yangu, maelezo haya yalikuwa ni kumbukumbu ghafi (raw logs) tu. Wakala alikuwa na historia, lakini hakuwa na kumbukumbu inayoweza kutumika tena. Alilazimika kugundua ukweli ule ule kila wakati. Hiyo si akili. Hiyo ni kulipia gharama ile ile mara mbili.
Njia isiyo sahihi ni kuhifadhi historia nyingi zaidi na kutumaini kuwa modeli itaitumia. Hii inatengeneza kelele (noise).
Nilihitaji tabaka dogo linaloweza kutumika tena. Nilibadilisha kutoka kuhifadhi kila kitu hadi kuhifadhi:
- taratibu: hatua bora na njia zisizo na matokeo zinazojulikana
- ukweli: URL, sheria, au mipangilio
- maelekezo: jinsi unavyotaka mambo yafanyike
- marejeleo: mahali nyaraka zinapopatikana
Hii ilibadilisha mfumo. Badala ya kusoma nakala kubwa ya mazungumzo (transcript), msaidizi anatumia tabaka la kumbukumbu linalotegemea faili.
Sikutaka marudio kamili (perfect replay) kwa sababu interface hubadilika na vitufe vinahama. Nilitaka mzunguko (loop):
- kumbuka taratibu bora ya awali
- jaribu kwanza
- thibitisha kila hatua
- ikifeli, rudi kwenye uchunguzi
- sasisha kumbukumbu baada ya mafanikio
Pia nilitenganisha sheria za kudumu kutoka kwenye historia ya kipindi. Sheria kama "usiguse data za uzalishaji" si muktadha wa mazungumzo. Ni sheria za uendeshaji. Kuzitenganisha kunaufanya msaidizi kuwa na utabiri.
Matokeo: kazi zinazojirudia zilipungua muda. Msaidizi anasonga haraka zaidi kwa sababu haanzi na modeli ya kimkakati tupu.
Ikiwa unatengeneza wakala wa coding, usichanganye mfululizo wa mazungumzo (thread) na kujifunza
