Един лесен начин да подобрите уменията си за програмиране

Най-очевидният начин да подобрите качеството на вашето програмиране е да пишете повече програми. Всеки знае това. Въпреки това, друг начин, който съм сигурен, че ще подобри вашето програмиране, е точно обратното. Ще направя това възможно най-ясно.

Може да вярвате или не. Прав си. Но ако сте готови да поемете риска, сигурен съм, че ще бъдете възнаградени за отделеното време.

Това е важно решение и е трудно да се даде съвет. Не бих искал просто да ви насоча към някакъв код, който според мен трябва да прочетете, защото това, което наистина трябва да имате предвид, е какво правите. Все пак ще ви дам някои насоки, които да ви помогнат да изберете вашия софтуер за четене.

Прочетете подходящи за вас програми

Страхотно място да започнете са всички добавки или библиотеки, които вече използвате.

• Приставката за WordPress, която наистина харесвате; • Скъпоценният камък Ruby, който намирате за полезна; • Приставката jQuery, към която непрекъснато се връщате.

Всички те са основни кандидати за обучение. Вече познавате публичните им интерфейси, така че бариерата за разбиране на вътрешната им работа е отдолу. В допълнение, вие - като потребител на тази програма - имате възможност да добавите документация, да въведете нова функция или като цяло да допринесете за този проект по някакъв начин.

Прочетете програми, които ви впечатляват

Спомням си, когато за първи път погледнах 280 Slides, услуга за създаване на презентации, си помислих: „Да! Готино!". Бързо разбрах, че програмата, управляваща този сайт, е проект с отворен код Cappuccino. Това знание навлезе дълбоко в съзнанието ми и когато по някакъв начин се натъкнах на друго впечатляващо приложение,работейки за Cappuccino, вече знаех, че мога да науча много от този проект. Какво ви направи силно впечатление напоследък? Тази програма с отворен код ли е? Ако е така, това е чудесен избор за четене: кодът вероятно ще ви впечатли толкова, колкото и самото приложение.

Четете програми, написани от хора, които уважавате

Уважавани програмисти

Ако се занимавате с програмиране с отворен код от известно време, вероятно вече имате предвид програмисти, които са спечелили вашето уважение. Веднага мога да посоча няколко разработчици, чиито програми ме карат просто да „завиждам“.

Прочетете програми, които наистина можете да разберете достатъчно дълбоко

Ако поемате риск, може да помислите да се потопите в голям проект като Ruby on Rails, Drupal или jQuery. Но бих ви предложил все още да не използвате такива проекти, освен ако, разбира се, не сте опитен читател на програми.

Големите проекти имат изключително голям брой взаимодействащи си части и в крайна сметка ще отделите много време и усилия за усвояване на общи концепции, за да научите нещо конкретно. Сложността на темата е смразяваща и големите проекти е по-вероятно да ви разочароват от четенето. Предимството на избора на малък проект за четене е, че можете да запазите цялата логика зад програмата в главата си. Това ви позволява да работите само с детайли, за да научите някои уроци.

Разгледайте голямата картина

уменията

Структурата на директорията на скъпоценния камък на twitter

Предполагам, че знаете поне на макро ниво какво прави кодът, който четете. Ако не, предлагам да прочетете уебсайта на проекта,уроци, документация и всичко друго, до което можете да се докопате освен кода.

След като е налице подходящата яснота, първата ви стъпка трябва да бъде да обмислите структурата на проекта. Обемът на тази работа зависи от размера на избраната база от изходен код, но дори и да отнеме повече от един файл, ще отнеме малко повече време.

Целта на тази стъпка е просто да се запознаете с източника. Разберете какви файлове включват/извикват/зареждат други файлове, къде се намира по-голямата част от кода, какви пространства от имена се използват (ако има такива) и подобни неща. След като получите общата идея, можете да се потопите в детайлите.

Документирайте резултатите си

Използвайте тестове Лука

Да се ​​надяваме, че проектът, който сте избрали, има тестов пакет. Ако не, можете да пропуснете този раздел изцяло (или да намерите проект, който има такъв).

Тестовете са чудесно място да започнете да четете кода на някой друг, защото те документират какво трябва да прави програмата. Някои тестове са по-информативни от други, но независимо колко добре са написани, често е много по-лесно да откриете намеренията на програмиста в тестовете, отколкото в изпълнението. Когато четете, опитайте се да получите успешен резултат, когато изпълнявате целия тестов пакет. Това ще гарантира, че вашата среда за разработка е конфигурирана правилно и ще ви даде повече увереност, когато правите промени.

Променете кода, компилирайте

Кой каза, че четенето на код трябва да е пасивно? Наистина ще започнете да разбирате кода едва след като го разбиете и го сглобите отново. Спомняте ли си тестовете, които преминахте? Накарайте ги да се провалят, добавете нещо или се опитайте да промените изпълнението, така че да преминатГлоба. Опитайте да добавите някаква малка „функция“, която смятате за „готина“, или настройте регистриране в целия проект, така че да можете да отпечатате изхода на различни етапи от програмата. Все още ли чете? Абсолютно, но този подход е по-скоро собствено приключение, отколкото четене на детективски роман. И това е точно това, от което се нуждаете!

Изплакнете и повторете

Когато приключите с четенето на една кодова база, вземете друга и започнете процеса отново. Колкото повече кодове четете, толкова по-добре върви това четене и толкова повече получавате от него за по-малко време. Мисля, че ще откриете, че вашата ефективност се изгражда доста бързо и че това всъщност е много приятен начин за учене.

Къде да започна

Използвате ли четенето на код като инструмент за обучение? Какви проекти бихте препоръчали на колегите? Чел ли си някоя добра програма напоследък?