Кодуңузду жакшырта турган негизги иштеп чыгуучу чеберчилик

Кодуңузду жакшырта турган негизги иштеп чыгуучу чеберчилик

Котормочунун кириш сөзү: Бул макаланы окугандан кийин, сиз таң калышыңыз же ачууланышыңыз мүмкүн. Ооба, бизди да таң калтырды: автор командадагы иерархия, “муну тез жана жүйөлүү жаса” статусу менен милдеттерди коюу жөнүндө эч качан уккан эмес окшойт. Ооба, туура, бул бир аз кызыктай текст. Чынында эле, автор программист системанын архитекторунун ролун алууну сунуштайт - анда эмне үчүн сизге архитектор керек? Бирок бул каршылыктардын баары сизди эң ​​негизги нерсеге – эмне үчүн биз бул текстти алып, которгонубузга сокур кылбашы керек. Ал ролдор жөнүндө айткан жок. Бул текст кесиптик мамиле жана маалымдуулук жөнүндө. Чындыгында, сиз өзүңүздүн иш-аракеттериңиздин мааниси жөнүндө ойлонбостон, жөн гана "айтканды кылсаңыз", сиз эч качан мыкты программист боло албайсыз.

Керексиз кодго жок деп айт. Болгону үч тамганы бириктирип, сөздү айтуу керек. Келгиле, муну чогуу жасаганга аракет кылалы: "Ноооо!"

Бирок күт. Эмне үчүн биз муну кылып жатабыз? Анткени, программисттин негизги милдети – код жазуу. Бирок сизден суралган кодду жазуу керекпи? Жок! "Кодду качан жазбоо керектигин түшүнүү, балким, программист үчүн эң маанилүү жөндөм." Окуга боло турган код искусствосу.

Биз эсиңизге салабыз: "Хабрдын" бардык окурмандары үчүн - "Habr" промо-кодун колдонуу менен каалаган Skillbox курсуна катталганда 10 000 рубль арзандатуу.

Skillbox сунуштайт: Практикалык курс "Мобилдик иштеп чыгуучу PRO".

Программалоо - бул маселени чечүү искусствосу. А силер болсо бул өнөрдүн чеберлерисиңер.
Кээде, мүмкүн болушунча тезирээк ишке киришүүгө аракет кылып, алдыбыздагы ишти бүтүрүүдөн башканы ойлобойбуз. Жана бул андан да олуттуу көйгөйлөргө алып келиши мүмкүн.

Программисттер эмнеге көз жумуп коюшат?

Сиз жазган бардык код башка иштеп чыгуучуларга түшүнүктүү болушу керек жана сыналышы жана мүчүлүштүктөрүн оңдоо керек.

Бирок бир көйгөй бар: эмнени жазбаңыз, бул сиздин программалык камсыздооңузду татаалдантат жана келечекте каталарды киргизет.

Рич Скренттин айтымында, код биздин душманыбыз. Ал мындай деп жазат:

«Код начар, анткени ал чирип баштайт жана дайыма тейлөөнү талап кылат. Жаңы функцияларды кошуу көбүнчө эски кодду өзгөртүүнү талап кылат. Ал канчалык чоң болсо, катанын чыгуу ыктымалдыгы ошончолук жогору жана компиляцияга ошончолук көп убакыт кетет. Аны түшүнүү үчүн дагы бир иштеп чыгуучуга көбүрөөк убакыт талап кылынат. Жана эгер рефакторинг керек болсо, анда сөзсүз түрдө өзгөртүүгө арзырлык фрагменттер болот. Чоң код көбүнчө долбоордун ийкемдүүлүгүн жана иштешин азайтат. Жөнөкөй жана жарашыктуу чечим татаал коддон тезирээк."

Качан кодду жазбаш керек экенин кайдан билесиз?

Көйгөй, программисттер көп учурда колдонууга муктаж болгон функциялардын санын көбүртүп жиберишет. Натыйжада, коддун көптөгөн бөлүмдөрү бүтпөй калат же аларды эч ким колдонбойт, бирок алар тиркемени татаалдаштырат.

Долбооруңузга эмне керек жана эмне кереги жок экенин так түшүнүшүңүз керек.

Мисал катары бир гана тапшырманы чечүүчү тиркеме - электрондук почтаны башкаруу. Бул үчүн эки функция – кат жөнөтүү жана кабыл алуу киргизилди. Почта менеджери бир эле учурда тапшырма менеджери болуп калат деп күтпөшүңүз керек.

Колдонмонун негизги милдети менен байланышпаган функцияларды кошуу сунуштарына "жок" деп чечкиндүү түрдө айтышыңыз керек. Бул кошумча коддун кереги жок экени айкын болгон учур.

Колдонмоңуздун көңүлүн эч качан жоготпоңуз.

Ар дайым өзүңө суроо бер:

— Азыр кандай функцияны ишке ашыруу керек?
— Кандай код жазышым керек?

Оюңузга келген идеяларды сураңыз жана сырттан келген сунуштарга баа бериңиз. Болбосо, кошумча код жөн гана долбоорду өлтүрүшү мүмкүн.

Керексиз нерселерди качан кошпоо керектигин билүү код базасын бекем көзөмөлгө алууга жардам берет.

Кодуңузду жакшырта турган негизги иштеп чыгуучу чеберчилик

Жолдун эң башында программистте эки же үч гана баштапкы файл бар. Баары оңой. Тиркемени түзүү жана ишке киргизүү эң аз убакытты талап кылат; Кайдан жана эмнени издөө керек экендиги ар дайым ачык.

Колдонмо кеңейген сайын, көбүрөөк код файлдары пайда болот. Алар ар бири жүздөгөн саптар менен каталогду толтурушат. Мунун баарын туура уюштуруу үчүн кошумча каталогдорду түзүшүңүз керек болот. Ошол эле учурда, кайсы функциялар эмне үчүн жооптуу экенин жана кайсы иш-аракеттер аларга себеп болгонун эстеп калуу барган сайын кыйындап баратат; мүчүлүштүктөрдү кармоо дагы көп убакытты талап кылат. Долбоорду башкаруу дагы татаалдашып баратат; бир эмес, бир нече иштеп чыгуучулар бардыгына көз салып турушу керек. Ошого жараша акчалай да, убакыт да чыгымдар көбөйүп, өнүгүү процесси жайлайт.

Долбоор акыры чоң болуп, ар бир жаңы функцияны кошуу көбүрөөк күч-аракетти талап кылат. Ал тургай, өтө маанилүү нерсе үчүн бир нече саат коротуу керек. Бар болгон каталарды оңдоо жаңылардын пайда болушуна алып келет жана өтүнмөлөрдү чыгаруу мөөнөтү өтүп кетет.

Эми биз долбоордун жашоосу үчүн күрөшүшүбүз керек. Неге?

Чындыгында, сиз качан кошумча код кошбошуңуз керектигин түшүнгөн жоксуз жана ар бир сунушка жана идеяга "ооба" деп жооп бердиңиз. Сиз сокур элеңиз, жаңы нерселерди жаратуу каалооңуз маанилүү фактыларды четке кагууга мажбур кылды.

Коркунучтуу тасманын сценарийи окшойт, туурабы?

Макул деп айта берсең дал ушундай болот. Кодду качан кошууга болбойт экенин түшүнүүгө аракет кылыңыз. Долбоордон керексиз нерселерди алып салыңыз - бул сиздин жашооңузду бир топ жеңилдетет жана колдонмонун иштөө мөөнөтүн узартат.

"Менин эң жемиштүү күндөрүмдүн бири 1000 сап кодду өчүргөнүм болду."
- Кен Томпсон.

Кодду качан жазууну үйрөнүү кыйын. Бирок бул зарыл.

Ооба, сиз жаңы эле иштеп чыгуучунун жолуна түшүп, код жазгыңыз келгениңизди билем. Бул жакшы, ошол биринчи таасирди жоготпоңуз, бирок энтузиазмдан улам маанилүү факторлорду эстен чыгарбаңыз. Сыноо жана ката аркылуу баарын түшүндүк. Сиз да ката кетирип, алардан сабак аласыз. Бирок жогоруда айтылгандардан сабак алсаңыз, ишиңиз аң-сезимдүү болуп калат.

Жаратууну улантыңыз, бирок качан жок деп айтууну билиңиз.

Skillbox сунуштайт:

Source: www.habr.com

Комментарий кошуу