Ба таҳияи чизе, ки шумо намефаҳмед, розӣ нашавед

Ба таҳияи чизе, ки шумо намефаҳмед, розӣ нашавед

Аз аввали соли 2018 ман вазифаи пешбар/раҳбар/таҳиягари пешбари дастаро ишғол мекунам - он чизеро, ки мехоҳед бигӯед, аммо гап дар он аст, ки ман барои яке аз модулҳо ва барои ҳама таҳиягароне, ки кор мекунанд, комилан масъул ҳастам. бар он. Ин мавқеъ ба ман дар бораи раванди рушд дурнамои нав медиҳад, зеро ман дар лоиҳаҳои бештар иштирок мекунам ва дар қабули қарорҳо фаъолонатар иштирок мекунам. Ба наздикӣ, ба шарофати ин ду ҳолат, ман ногаҳон фаҳмидам, ки андозаи фаҳмиш ба код ва барнома чӣ қадар таъсир мерасонад.

Нуктае, ки ман мехоҳам қайд кунам, ин аст, ки сифати код (ва маҳсулоти ниҳоӣ) ба он вобаста аст, ки то чӣ андоза одамоне, ки кодро тарҳрезӣ мекунанд ва менависанд, аз кори онҳо огоҳанд.

Шумо шояд худи ҳозир фикр кунед: «Ташаккур, кап. Албатта, хуб мебуд, ки шумо чӣ менависед, умуман фаҳмед. Дар акси ҳол, шумо инчунин метавонед як гурӯҳи маймунҳоро киро кунед, то калидҳои худсаронаро пахш кунед ва онро дар он ҷо гузоред." Ва шумо комилан ҳақ ҳастед. Аз ин рӯ, ман онро як чизи муқаррарӣ қабул мекунам, ки шумо дарк мекунед, ки тасаввуроти умумӣ дар бораи он ки шумо мекунед, зарур аст. Инро метавон сатҳи сифрии фаҳмиш номид ва мо онро муфассал таҳлил намекунем. Мо ба таври муфассал дида мебароем, ки маҳз чиро шумо бояд фаҳмед ва он ба қарорҳои ҳаррӯзаи шумо чӣ гуна таъсир мерасонад. Агар ман ин чизҳоро пешакӣ медонистам, ин барои ман вақти беҳуда ва рамзи шубҳанокро наҷот медод.

Гарчанде ки шумо як сатри кодро дар зер нахоҳед дид, ман то ҳол боварӣ дорам, ки ҳама чизе, ки дар ин ҷо гуфта шудааст, барои навиштани рамзи баландсифат ва ифодакунанда аҳамияти бузург дорад.

Сатҳи якуми фаҳмиш: Чаро он кор намекунад?

Таҳиягарон одатан ба ин сатҳ хеле барвақт дар касбашон мерасанд, баъзан ҳатто бе кӯмаки дигарон - ҳадди аққал дар таҷрибаи ман. Тасаввур кунед, ки шумо гузориши хатогиро гирифтед: баъзе функсияҳо дар барнома кор намекунанд, онро ислоҳ кардан лозим аст. Шумо чӣ гуна идома хоҳед дод?

Нақшаи стандартӣ чунин менамояд:

  1. Қисми кодеро, ки боиси мушкилот мегардад, пайдо кунед (чӣ гуна ин як мавзӯи алоҳида аст, ман онро дар китоби худ дар бораи рамзи меросӣ фаро гирифтаам)
  2. Ба ин порча тағирот ворид кунед
  3. Боварӣ ҳосил кунед, ки хатогӣ ислоҳ шудааст ва ягон хатогии регрессия рух надодааст

Акнун биёед ба нуктаи дуюм - ворид кардани тағйирот ба код таваҷҷӯҳ кунем. Ду равиш ба ин раванд вуҷуд дорад. Аввал ин аст, ки дар бораи он чизе, ки дар коди ҷорӣ рӯй дода истодааст, муайян кунед, хатогиро муайян кунед ва онро ислоҳ кунед. Дуюм: аз рӯи эҳсос ҳаракат кунед - илова кунед, бигӯед, +1 ба изҳороти шартӣ ё ҳалқа, бубинед, ки оё функсия дар сенарияи дилхоҳ кор мекунад, пас чизи дигареро санҷед ва ғайра.

Усули аввал дуруст аст. Тавре Стив МакКоннелл дар китоби худ Коди пурра мефаҳмонад (дар омади гап, ман тавсия медиҳам), ҳар вақте ки мо чизеро дар код иваз мекунем, мо бояд бо итминон пешгӯӣ кунем, ки он ба барнома чӣ гуна таъсир мерасонад. Ман аз хотира иқтибос меорам, аммо агар ислоҳи хато тавре ки шумо интизор будед, кор накунад, шумо бояд хеле хавотир шавед ва шумо бояд тамоми нақшаи амали худро зери шубҳа гузоред.

Барои ҷамъбасти гуфтаҳои гуфташуда, барои ислоҳи хуби хатогиҳо, ки сифати кодро паст намекунад, шумо бояд ҳам тамоми сохтори код ва ҳам сарчашмаи мушкилоти мушаххасро фаҳмед.

Сатҳи дуюми фаҳмиш: Чаро он кор мекунад?

Ин сатҳ нисбат ба сатҳи қаблӣ хеле камтар дарк карда мешавад. Ман, дар ҳоле ки таҳиягари навкор будам, онро ба шарофати роҳбари худ омӯхтам ва баъдан борҳо моҳияти масъаларо ба навкорон фаҳмондам.

Ин дафъа, биёед тасаввур кунем, ки шумо якбора ду гузориши хатогиҳо гирифтед: якум дар бораи сенарияи А, дуюм дар бораи сенарияи В. Дар ҳарду сенария ягон чизи нодуруст рӯй медиҳад. Бинобар ин, шумо аввал хатои аввалро ҳал мекунед. Бо истифода аз принсипҳое, ки мо барои фаҳмиши сатҳи XNUMX таҳия кардем, шумо коди марбут ба мушкилотро амиқ меомӯзед, мефаҳмед, ки чаро он ба барнома тавре рафтор мекунад, ки дар Сенарияи А амал мекунад ва ислоҳоти оқилонае ворид кунед, ки натиҷаи дилхоҳатонро ба даст оранд. . Ҳама чиз хуб мегузарад.

Он гоҳ шумо ба сенарияи B мегузаред. Шумо кӯшиши барангехтани хатогиро такрор мекунед, аммо — ҳайратовар! — холо хама чиз мувофики талаб кор мекунад. Барои тасдиқи тахмини худ, шумо тағиротҳоеро, ки ҳангоми кор дар хатои А кардаед, бекор мекунед ва хатои B бармегардад. Ислоҳи хатогии шумо ҳарду мушкилотро ҳал кард. Хушбахт!

Шумо умуман ба ин ҳисоб нагирифтед. Шумо роҳи ислоҳи хаторо дар сенарияи А пайдо кардаед ва намедонед, ки чаро он барои сенарияи В кор кардааст. Дар ин марҳила фикр кардан хеле ҷолиб аст, ки ҳарду вазифа бомуваффақият иҷро шудаанд. Ин комилан мантиқист: ҳадаф бартараф кардани хатогиҳо буд, ҳамин тавр не? Аммо кор то ҳол ба охир нарасидааст: шумо ҳанӯз бояд бифаҳмед, ки чаро амали шумо хатогиро дар сенарияи В ислоҳ кардааст. Чаро? Зеро он метавонад аз рӯи принсипҳои нодуруст кор кунад ва он гоҳ ба шумо лозим меояд, ки роҳи дигареро ҷустуҷӯ кунед. Инҳоянд чанд мисоли чунин ҳолатҳо:

  • Азбаски ҳалли он ба хатои B мутобиқ карда нашудааст, бо назардошти ҳамаи омилҳо, шумо шояд функсияи C-ро надониста вайрон карда бошед.
  • Эҳтимол дорад, ки дар ҷое як хатои сеюм низ ҳаст, ки бо ҳамон функсия алоқаманд аст ва ислоҳи хатои шумо барои кори дурусти система дар сенарияи В аз он вобаста аст. Ҳама чиз ҳоло хуб ба назар мерасад, аммо рӯзе ин хатои сеюм мушоҳида мешавад ва ислоҳ мешавад. Он гоҳ дар сенарияи B хатогӣ дубора рух медиҳад ва хуб аст, агар танҳо дар он ҷо бошад.

Ҳамаи ин ба код бетартибӣ илова мекунад ва рӯзе ба сари шумо меафтад - эҳтимолан дар лаҳзаи номуносиб. Шумо бояд иродаи худро ҷамъ кунед, то худро маҷбур созед, ки барои фаҳмидани он ки чаро ҳама чиз кор мекунад, вақт сарф кунед, аммо ин меарзад.

Сатҳи сеюми фаҳмиш: Чаро он кор мекунад?

Фаҳмиши охирини ман маҳз ба ҳамин сатҳ марбут аст ва эҳтимол он чизест, ки ба ман фоидаи бештар мебахшид, агар ман қаблан ба ин идея омада будам.

Барои равшантар шудани он, биёед як мисолро дида бароем: модули шумо бояд бо функсияи X мувофиқ карда шавад. Шумо махсусан бо функсияи X ошно нестед, аммо ба шумо гуфтаанд, ки барои бо он мувофиқ будан чаҳорчӯбаи F-ро истифода бурдан лозим аст. модулҳое, ки бо X муттаҳид мешаванд, маҳз бо ӯ кор мекунанд.

Рамзи шумо аз рӯзи аввали ҳаёташ бо чаҳорчӯбаи F умуман дар тамос набуд, бинобар ин татбиқи он чандон осон нахоҳад буд. Ин барои баъзе қисмҳои модул оқибатҳои ҷиддӣ хоҳад дошт. Бо вуҷуди ин, шумо худро ба рушд мепардозед: шумо ҳафтаҳо барои навиштани код, озмоиш, паҳн кардани версияҳои пилотӣ, гирифтани фикру мулоҳиза, ислоҳ кардани хатогиҳои регрессия, кашф кардани мушкилоти ғайричашмдошт, риоя накардани мӯҳлатҳои дар аввал мувофиқашуда, навиштани коди дигар, санҷиш, иртибот бо фикру мулоҳизаҳо, ислоҳи хатогиҳои регрессионӣ - ҳамаи ин барои татбиқи чаҳорчӯбаи F.

Ва дар баъзе лаҳзаҳо шумо ногаҳон дарк мекунед - ё шояд аз касе бишнавед - шояд чаҳорчӯбаи F ба шумо умуман бо хусусияти X мувофиқат накунад.

Боре ба ин монанд, ҳангоми кор дар лоиҳае, ки ман масъул будам, рӯй дод. Чаро ин тавр шуд? Азбаски ман дар бораи он ки функсияи X чӣ гуна аст ва он бо чаҳорчӯбаи F чӣ гуна алоқамандӣ дорад, каме дарк мекардам. Ман бояд чӣ кор мекардам? Аз шахсе, ки вазифаи таҳияро таъин мекунад, пурсед, ки ба таври возеҳ шарҳ диҳад, ки чӣ тавр роҳи пешбинишудаи амал ба натиҷаи дилхоҳ оварда мерасонад, на танҳо такрор кардани коре, ки барои модулҳои дигар анҷом дода шудааст ё суханони онҳоро қабул мекунад, ки ин хусусияти X бояд иҷро кунад.

Таҷрибаи ин лоиҳа ба ман таълим дод, ки то он даме, ки мо дарк накунем, ки чаро аз мо иҷрои баъзе корҳоро талаб мекунанд, аз оғози раванди рушд даст кашам. Ба таври қатъӣ рад кунед. Вақте ки шумо супориш мегиред, аввалин такони он аст, ки фавран онро ба даст оред, то вақтро беҳуда сарф накунед. Аммо сиёсати "то он даме, ки мо ба ҳама ҷузъиёт ворид шавем, лоиҳаро ях кунед" метавонад вақти беҳударо бо фармоишҳои бузург коҳиш диҳад.

Ҳатто агар онҳо кӯшиш кунанд, ки ба шумо фишор оваранд, шуморо маҷбур кунанд, ки ба кор шурӯъ кунед, гарчанде ки шумо сабаби ин корро нафаҳмед, муқобилат кунед. Аввалан, фаҳмед, ки чаро ба шумо чунин вазифа дода мешавад ва қарор кунед, ки оё ин роҳи дуруст ба сӯи ҳадаф аст. Ба ман лозим омад, ки ин ҳамаро бо роҳи сахт омӯзам - умедворам, ки намунаи ман зиндагии онҳоеро, ки инро мехонанд, осонтар мекунад.

Сатҳи чоруми фаҳмиш: ???

Дар барномасозӣ ҳамеша бештар омӯхтан лозим аст ва ман боварӣ дорам, ки ман танҳо сатҳи мавзӯи фаҳмишро харошидаам. Дар тӯли солҳои кор бо код шумо кадом сатҳҳои дигари фаҳмишро кашф кардаед? Кадом қарорҳоеро, ки ба сифати код ва татбиқ таъсири мусбӣ расониданд, қабул кардед? Кадом қарорҳо нодуруст баромаданд ва ба шумо дарси арзишманд доданд? Таҷрибаи худро дар шарҳҳо мубодила кунед.

Манбаъ: will.com

Илова Эзоҳ