Кодты шолу жаттығулары: талдау мен техникалық пікірді дамыту үшін әріптестердің шолуын қалай пайдалану керек

Ешбір элемент табылмады.
Blog нобай кескіні

Әзірлеуші ​​касса қызметіне жеңілдік есептеуін қосатын тарту сұрауын ашады. Сынақтар сәтті өтті және айырмашылық аз болды. Сарапшы оны екі минут ішінде "LGTM" арқылы мақұлдады. Үш айдан кейін командалас сол функцияны өзгертуі керек және оның баға ережелерін, дөңгелектеу мен дерекқорға кіруді бір жерде араластыратынын анықтады. Ешкім оған не істеуге рұқсат етілгенін сенімді түрде айта алмайды.

Бұл құжатталған оқиға емес, иллюстрациялық сценарий. Бұл оқу әрекеті ретінде жұмыс істеген кезде әріптестер кодын шолу не беретінін көрсетеді: ықтимал өзгерісті көре алатын, әлі қате емес мәселені анықтай алатын және оны автор әрекет ете алатындай етіп түсіндіре алатын шолушы.

Бұл нұсқаулық инженерлік мүмкіндіктерді қамтамасыз ету бойынша жетекшілер мен инженерлік менеджерлерге арналған. Онда қалай жобалау керектігі көрсетілген. кодты қайталау жаттығулары шолушылар кезектен алып кетеді деп үміттенудің орнына, сол дағдыны әдейі қалыптастырады. Онда өнімділік мәселесі, диагностикалаудағы олқылықтар, дайындық пен тәжірибені қалай құрылымдау, бір жұмыс істеген мысал және дағдының нақты шолуларға қалай ауысатынын қалай тексеру керектігі қарастырылады. Аға инженерлерге қолданар алдында әрбір жағдайды, ақауды және критерийді тексеруді тапсырыңыз.

Кодты шолу жаттығулары дегеніміз не?

Кодты шолу жаттығулары - әзірлеуші ​​дайындалған өзгерісті қарап шығатын, не тапқанын және оның неліктен маңызды екенін түсіндіретін және сол түсіндірменің сапасы туралы кері байланыс алатын құрылымдалған жаттығу тапсырмалары. Олар сіздің командаңыздың күн сайын жасайтын шолуларынан өзгеше. Өзгеріс алдын ала таңдалады, ондағы мәселелер белгілі және мақсат өзгерісті жеткізу емес, шолушыны жақсарту болып табылады.

Жылдам фактілер

сұрақҚысқа жауап
Тапсырма қандай?Шолу нәтижелерін түсіндіріңіз және автордың әрекет ете алатын пікірлерін білдіріңіз.
Сіз қанша ұпай жинайсыз?Зерттеу нәтижелерінің дәлдігі және түсіндірменің қаншалықты пайдалы екендігі.
Кемшіліктерді санау жеткілікті ме?Жоқ. Пікірлер тек кемшіліктерден де көп нәрсе туралы, сондықтан тек қателер санын ғана марапаттайтын жаттығу дұрыс емес әдетті тәрбиелейді.
Когнитивті сұраныс дегеніміз не?Дизайнды талдап, бағалаңыз, содан кейін жақсырақ ұсыныс жасаңыз.
Істі кім растайды?Код базасына иелік ететін инженерлік менеджер немесе аға инженер.
Жаттығулар нені түзете алмайды?Қарау уақыты, меншік құқығының түсініксіздігі және тез бірігуге қысым.
Оның жұмыс істегенін қайдан білесіз?Келісілген критерийлерге сәйкес қаралған жаңа, көрінбейтін өзгеріс, сонымен қатар нақты шолулардың жалғасы.

1. Өнімділік мәселесін сипаттаңыз

Тапсырманы бір сөйлеммен бастаңыз: өзгеріс енгізілген жағдайда, шолушы не тапқанын, оның неліктен маңызды екенін және автордың ол туралы не істей алатынын түсіндіреді. «Түсіндіреді» - маңызды сөз. Мәселені байқау - шеберліктің жартысы. Басқа көзқарастағы әріптес оны түсініп, салмақтап, әрекет ете алатындай етіп айту - екінші жартысы.

Қазіргі кодты шолу бойынша зерттеулер қателерді іздеуден тысқары қарауды қолдайды. Microsoft-та жүргізілген зерттеуде Баччелли мен Берд әзірлеушілер мен менеджерлерді бақылап, сұхбаттасып, сауалнама жүргізді. Олар ақауларды табу әлі де шолудың негізгі мотивациясы екенін, бірақ шолулар адамдар күткеннен гөрі ақаулар туралы емес екенін анықтады. Олар сондай-ақ білім алмасу, командалық хабардарлық және балама шешімдер сияқты басқа да артықшылықтарды ұсынды, ал зерттеушілер код пен өзгерістерді түсінуді шолудың негізгі аспектісі ретінде сипаттады (Баччелли және Берд, ICSE 2013Бұл бір компанияның командаларын зерттеу, сондықтан оны өзіңізге арналған баға ретінде емес, түсіну үшін жобалау себебі ретінде пайдаланыңыз.

Google жарияланған шолу стандарты да осыған ұқсас. Онда шолушыларға кодтың жалпы денсаулығын жақсартқаннан кейін, тіпті ол мінсіз болмаса да, өзгерісті мақұлдауды жақтайтыны айтылады және шолу әзірлеушілерге жаңа нәрсе үйрете алатыны айтылған, сондықтан біреуге үйренуге көмектесетін пікірлер қош келдіңіздер делінген (Google инженерлік тәжірибелеріЕкі дереккөз де шолуды пайымдау жүзеге асырылатын және берілетін орын ретінде сипаттайды. Сіздің жаттығуларыңыз осыны қайталауы керек.

2. Оқу мен контексттегі олқылықтарды анықтаңыз

Тапсырманы ағымдағы бағдарламаңызда қолданылатын және бағаланатын тапсырмамен салыстырыңыз.

  1. Қазіргі тәжірибе нақты тапсырманы қолдана ма? Егер жаңадан келген шолушылар стильдік нұсқаулықты оқып, содан кейін тікелей сұраныстарды қарап шығу арқылы үйренсе, олар қателесуге ешқандай қауіпсіз орын қалдырмай, нақты жұмыста жаттығады. Егер бағалау шолу этикеті бойынша тест болса, ол ережелерді өзгертуге қолдану мүмкіндігін емес, оларды еске түсіруді өлшейді.
  2. Когнитивті сұраныс дегеніміз не? Блумның қайта қаралған таксономиясында дизайнның дұрыстығын бағалау және оның ымыраларын өлшеу талдау және бағалау деңгейлерінде, ал жақсырақ құрылымды ұсыну жасау деңгейіне жетеді. Егер сіздің жаттығуларыңызда тек «бұл код не істейді?» деп сұралса, олар түсінумен аяқталады. Біздің нұсқаулық оқу іс-әрекеттерін Блум таксономиясына сәйкестендіру әрекетті деңгейге қалай сәйкестендіру керектігін көрсетеді.
  3. Шеберліктен басқа нәрсе кедергі келтіріп жатыр ма? Қарау уақытын, құралдарды, меншік құқығын және командалық нормаларды тексеріңіз. Егер шолушыларға әрбір сұрау үшін бес минут уақыт берілсе, ешқандай жаттығу ойлы түсініктеме бермейді. Егер авторлар әрбір пікірді сын ретінде қабылдаса, шолушылар ештеңе айтпағанша өз тұжырымдарын жұмсартады. Бұл себептерді оларды түзете алатын адамдарға хабарлаңыз.

3. Дизайнды дайындау, тәжірибе және кері байланыс

Әр кезеңге бөлек тапсырма беріңіз.

Дайындық. Бастамас бұрын шолушыларға не қажет екенін тексеріңіз: топтың шолу тізімін, ол сүйенетін дизайн принциптерін және құралдарыңыздағы айырмашылықты қалай оқу керектігін. Мұны өз бетіңізше және қысқа етіп жазыңыз. Қайта шақыру тексеруі тек алғышарттарды растайды және біреудің шолу жасай алатынының дәлелі емес.

Тәжірибе. Дайындалған өзгерістерді әртүрлі түрдегі аздаған түптелген мәселелермен пайдаланыңыз: дұрыстық қатесі, бастапқы мысалдағы аралас міндеттер сияқты қолдау мәселесі, түсініксіз атау немесе жоқ тест және кейбір жақсы код. Пікір қалдырушыдан қалдыратын түсініктемесін жазуын, мәселелерді бағалауын және қандай қосымша ақпарат алғылары келетінін айтуын сұраңыз. CodeRefinery-дің практикалық сабағы форманы көрсетеді: адамдар кішкентай қате және үлкен қатесі бар тарту сұрауын ашады, содан кейін оны тең дәрежеде қарастырады (CodeRefinery, кодты шолуды тәжірибе жүзінде қолдану). Өзіңіздің код базаңызды өз код базаңыздан құрыңыз, сонда конвенциялар мен ымыралар шынайы болады.

Кері байланыс. Оны шолушы қабылдаған шешімдермен байланыстырыңыз. «Сіз дөңгелектеу мәселесін байқадыңыз, бірақ сіздің пікіріңізде «бұл дұрыс емес көрінеді» деп айтылды, бірақ қай енгізу оны бұзатынын айтпайды» дегеннен гөрі «4-тен 2-сін таптым» деген пайдалырақ.

Тікелей енгізу немесе асинхронды шолу? Тікелей эфирдегі пікірлер мәселе түсініксіз болған кезде және шолушылар аға инженердің оны неге көтеретінін немесе оны жіберіп алатынын айтқанын естігеннен кейін көбірек құндылыққа ие болады. Асинхронды шолу түсініктемелерді аннотацияланған сараптамалық шолумен салыстыру үшін жеткілікті.

4. Нақты мысалмен жұмыс істеңіз

Мысал ретінде. Инженерлік менеджер қолданар алдында істі және жауап критерийлерін тексеруі керек.

Іс. Өзгеріс касса қызметіне жеңілдік есептеуін қосады. Ол сынақтардан өтеді. Бір функцияда ол пайыздық және бекітілген жеңілдіктерді қолданады, нәтижені дөңгелектейді, дерекқорға жазады және оқиғаны жібереді. Бір пайыздық жеңілдік үшін бір сынақтан өтеді.

Тапсырма. Сарапшы олардың қалдыратын пікірлерін жазады, олардың алаңдаушылықтарын бағалайды және мақұлдамас бұрын не білуі керек екенін айтады.

Алғашқы әрекет. «Жақсы көрінеді, сынақтан өтті. Мүмкін, оны бөліп қарастырарсыз?» Пікір қалдырушы бір нәрсені байқаған шығар, бірақ не екенін, неге маңызды екенін немесе не істеу керектігін айтпаған. Автор бұған сәйкес әрекет ете алмайды.

Кері байланыс және қайталап көріңіз. Жетекші сұрайды: бұл функцияға болашақта қандай өзгеріс енгізу қаупін тудыруы мүмкін? Мақұлдамас бұрын автордан не қосуды сұрар едіңіз? Қайталау әрбір мәселе бойынша себебі мен ұсынысы көрсетілген нақты түсініктеме сұралады.

Күштірек әрекет. «Функция екі түрлі жеңілдікті қолданады: оқиғаны дөңгелектейді, сақтайды және жариялайды, сондықтан дөңгелектеуге өзгерту біз сақтайтын және бір уақытта жариялайтын нәрселерді өзгертуі мүмкін. Мен баға ережелерін өз бетінше тексере алатын таза функцияға ауыстыруды сұрар едім. Бірыңғай тест тек пайыздық жеңілдікті қамтиды. Мен бекітілген жеңілдікті және жалпы соманы нөлге теңестіретін тапсырысты сұрар едім. Жалпы сома нөлге тең болған кезде оқиғаның іске қосылуы керек пе, жоқ па, білмеймін, сондықтан автордан сұрар едім». Бұл түсініктемеде мәселе аталып, себебі келтіріліп, нақты ұсыныс жасалып, шолушы не білмейтіні айтылғанына назар аударыңыз.

5. Мүмкіндікті бағалау және жоспарды беру

Қабілеттіліктің дәлелі - шолушы көрмеген жаңа өзгеріс бойынша өнімділік. Нәтижелердің дәлдігі мен түсіндірменің пайдалылығын бағалаңыз. Қарапайым рубрика әрбір критерий бойынша 0-ден 2-ге дейінгі шкаланы пайдаланады:

критерийБақыланатын дәлелдер
Тапсырманы орындауӨзгерістегі тиісті мәселелерді тауып, әрқайсысы бойынша дәлелдемелерді жазып алады.
ДәлелдеуӘрбір мәселенің неліктен маңызды екенін түсіндіреді, балама нұсқа ұсынады және ненің белгісіз болып қалатынын айтады.
ШекараларТоптың шолу ережелерін сақтайды және бедел немесе мәнмәтін жетіспейтін кезде көмек немесе ақпарат сұрайды.

Тіректер: 0 жоқ немесе қолдау таппаған дегенді білдіреді, 1 тиісті кемшіліктері бар ішінара дегенді білдіреді және 2 келісілген критерийлерге сәйкес толық және негізделген дегенді білдіреді. Маңызды қателерді бөлек анықтаңыз, мысалы, деректерді жоғалту қаупі бар өзгерісті мақұлдау, сонда жақсы жалпы балл оны жасыра алмайды. Критерийлерді инженерлік менеджермен бірге бейімдеңіз; бұл рубрика бастапқы ұсыныс болып табылады, тексерілген дайындық стандарты емес. Бағалауды негіздеу туралы қосымша ақпарат алу үшін біздің нұсқаулықты қараңыз. пайдалы кері байланыспен интерактивті тәжірибені жобалау.

Ауыстыру жоспары. Жаттығудан кейін бірнеше аптадан кейін сол критерийлерді қолдана отырып, шолушының нақты шолуларының үлгісін тексеріңіз. Жаттығу алдында алынған бастапқы көрсеткішпен салыстырыңыз және алдын ала халық санын және уақытты анықтаңыз. Жаттығуларды есепке алмас бұрын, сол кезеңде болған басқа өзгерістерді, мысалы, жаңа шолу құралын немесе қызметкерлердің ауысуын қараңыз.

6. AhaSlides көмегімен жаттығуды тікелей эфирде немесе өз қарқыныңызбен орындаңыз

Сіз жаттығуды шеберханада орындай аласыз немесе шолушыларға оны өз бетінше орындауға мүмкіндік бере аласыз. Тікелей эфирде дайындалған өзгерісті көрсетіп, талқылау үшін интерактивті слайдтарды пайдаланыңыз:

  1. Жауап таңдаңыз «Қай мәселені бірінші көтерер едіңіз?» деген сұраққа жауап ретінде, тұқымдық мәселелерді нұсқа ретінде қарастырыңыз. Өз рейтингіңізді көрсетпес бұрын, айырмашылықты көрсетіңіз.
  2. Ашық аяқталды «қалай пікір қалдыратыныңызды жазыңыз» үшін. Пікір жазушылар өз сөздерін басқалармен салыстыра алады, бұл жерде түсіндіру шеберлігі көрінеді.
  3. Рейтингтік масштаб «бұл қаншалықты ауыр?» деген сұраққа жауап беру арқылы топ пікірлердің қай жерде әртүрлі екенін көріп, себебін талқылай алады.

Қатыса алмайтын шолушылар үшін сол тізбекті өз бетінше пайдалануға болады, әр жауаптан кейін аннотацияланған сараптамалық шолу көрсетіледі. Кодты орындау, интеграциялар немесе жасанды интеллект мүмкіндіктері туралы кез келген шағымды өз материалыңызбен сынап көрмейінше расталмаған деп санаңыз.

Егер сіз шолушыларды жасанды интеллектпен жазылған код бойынша оқытсаңыз, біздің қосымша нұсқаулықты қараңыз Жасанды интеллект арқылы жасалған кодты шолу бойынша оқытуБұл жазба жасалған өнімді аудиттеу туралы. Бұл жазба адамдардың бір-бірінің жұмысын қалай қарастыратыны және тапқандарын қалай түсіндіретіні туралы.

Қалыптасуы мүмкін шектеулер

  • Қарастыру уақыты. Ойлы пікір «LGTM»-ге қарағанда ұзағырақ уақыт алады, ал мерзімдер қысқа нұсқаға қарай жылжиды.
  • Команда нормалары. Егер кері байланыс жеке сын ретінде оқылса, шолушылар өз тұжырымдарын жұмсартады немесе қабылдамайды.
  • Істі қамту. Бір жаттығу бірнеше түрлі алаңдаушылықты көрсетеді. Баға шолушының жалпы пікірін сипаттамайды.
  • Беру. Шеберханадағы өнімділік кезектегі жұмыспен бірдей емес, сондықтан нақты шолуларды да тексеріңіз.

Оларды демеушілерге ертерек атаңыз және бөлек түзетулерді жоспарлаңыз. Жаттығулар шолушының көре және түсіндіре алатын нәрселерін жақсартады. Олар уақытты немесе нормаларды жасамайды.

Жиі Қойылатын Сұрақтар

Кодты шолу жаттығулары дегеніміз не?

Олар әзірлеуші ​​белгілі мәселелермен өзгерісті қарастыратын, қалдыратын пікірлерін жазатын және дәлдігі мен пайдалылығы туралы кері байланыс алатын дайын жаттығу тапсырмалары. Мақсат - өзгерісті жеткізу емес, шолушының дағдысын дамыту.

Сарапшының пікірі жақсарғанын қалай бағалайсыз?

Олар көрмеген жаңа өзгерісті беріңіз және нәтижелер мен түсіндірмені келісілген критерийлер бойынша бағалаңыз. Содан кейін бірнеше аптадан кейін нақты шолулардың үлгісін тексеріңіз. Қарау ережелері бойынша викторина тек алғышарттарды растайды.

Кодты шолу негізінен қателерді табу туралы ма?

Ақауларды табу әлі де негізгі мотивация болып табылады, бірақ Microsoft-тағы бір зерттеу шолулар күтілгеннен гөрі ақаулар туралы аз екенін және білім алмасуды және команданың хабардарлығын арттыратынын анықтады. Түсіндіру мен түсінуді, сондай-ақ ақауларды санауды марапаттайтын жаттығуларды жобалау.

Неден бастау керек

Командаңыз жиі қарастыратын бір өзгеріс түрін таңдаңыз. Өнімділік туралы есеп жазыңыз, аға инженерден үш немесе төрт негізгі мәселе бар бір өзгеріс дайындауын сұраңыз және 0-ден 2-ге дейінгі шкала мен маңызды қателіктер тізімі бар үш критерийлі рубрика жасаңыз. Оны шағын топпен сынақтан өткізіңіз, содан кейін олардың келесі нақты шолуларын бастапқы деңгеймен салыстырыңыз.

Қайталау жаттығуын өз командаңызбен қалай тікелей эфирде өткізуге болатынын және кейіннен өз қарқыныңызбен қайта пайдаланылатынын көру үшін AhaSlides-ті зерттеңіз.

Аудиторияның белсенділігін арттыру үшін кеңестерге, түсініктерге және стратегияларға жазылыңыз.
Рақмет сізге! Сіздің өтінішіңіз қабылданды!
Қап! Пішінді жіберу кезінде бірдеңе дұрыс болмады.

Басқа жазбаларды қараңыз

AhaSlides Forbes America-ның ең үздік 500 компаниясымен қолданылады. Бүгін қатысу күшін сезініңіз.

Тегін бастаңыз
© 2026 AhaSlides Pte Ltd