Розробка WordPress: обхід коду
Якщо ви досі стежили за серією, то, ймовірно, бачите, наскільки корисним може бути правильне налагодження, особливо під час роботи над WordPress.
Тобто ви не тільки можете отримати цінну інформацію про власні проекти, а й побачити, як працює ядро WordPress.
Однак на даний момент ми не зробили багато. Як ви, мабуть, пам’ятаєте з попереднього допису (або, якщо ви не дивилися скрінкаст, зараз саме час це зробити), ви можете побачити, скільки пропонує налагодження.
Правда в тому, що ми ледь подряпали поверхню. Як я вже згадував минулого разу, ця публікація та цей скрінкаст будуть зосереджені саме на наступному:
У наступному дописі ми розглянемо більш просунуті речі, які ми можемо робити, наприклад перехід до функцій, вихід із функцій і перехід через функції.
Ми все ще не на тому етапі, коли будемо турбуватися про зміну значень змінних на льоту, але ми обов’язково побачимо, як ми можемо стратегічно використовувати налагоджувач для входу в певні функції, переходити через певні функції і вийти з певних функцій.
Обхід коду
Перш ніж поділитися скрінкастом, я хочу визначити, що означає покрокове обхід коду в проекті. Звучить як те, що ми робимо щоразу, коли орієнтуємося в кодовій базі.
Але це не так у контексті налагодження.
Пам’ятайте, що для цілей цієї конкретної серії я використовую останню версію WordPress від Subversion. Ви можете дізнатися, як це налаштувати, прочитавши цю публікацію.
Кілька слів про кроки
Перш ніж визначити майбутні терміни, зверніть увагу, що ідея «кроку» під час налагодження аналогічна переходу рядок за рядком бази коду.
Як ми бачили в попередній публікації, виконання програми зупиниться, щойно буде досягнуто контрольної точки. З цього моменту результат виконання програми залежить від нас. І на основі цього ми визначимо кілька термінів.
- Перехід до функції — це дія, яка, коли ви натискаєте виклик функції, переведе вас у функцію. Іноді це корисно, наприклад, якщо ви хочете побачити, що робить функція, або подивитися, як встановлюються значення; в інших випадках це непотрібно, якщо ви дбаєте лише про виконання функції або про те, що вона повертає.
- Перехід через виклик функції дозволить вам обійти виконання функції в тому сенсі, що вона продовжує працювати, просто ми не бачимо, як вона насправді працює. Натомість керування перейде до наступного рядка після того, як функція завершить своє виконання.
- Вихід із функції використовується, коли ви увійшли до функції, досягли точки, де завершили оцінку коду, а потім готові повернутися до того, що кодова база збирається робити далі. Це корисно, якщо ви хочете знайти, де може бути помилка, і підозрювати її в одній частині коду (де вона може бути або не бути).
І це все. Якщо це абсолютно нове, це може здатися дивним або важко розібратися в ньому. Якщо це так, то нічого страшного. Ось як це відбувається з новинками, чи не так?
З іншого боку, якщо ви випадково знаєте ці терміни або легко вивчите їх визначення, тоді розгляньте попередні пункти, щоб відновити знання.
А тепер скрінкаст
У цьому скрінкасті я збираюся виконати всі вищезазначені дії за допомогою одного з моїх власних плагінів – Easier Excerpts. Однак це не означає бути будь-яким типом самореклами. Натомість я знаю кодову базу, і мені не потрібно турбуватися про фактичну демонстрацію роботи, яка виконується для когось іншого.
Тепер, коли ви переглянули скрінкаст і знаєте, що це суто моя кодова база, ви можете завантажити код і виконати всі ті самі дії самостійно, щоб зрозуміти, як виконувати дії, описані в цій публікації.
Це забезпечить ще більше практики для ваших навичок налагодження та має полегшити продовження вдосконалення наших навичок налагодження, коли ми рухатимемося вперед у наступній публікації.
Далі
Це трохи довгий пост, і я намагався переконатися, що всі пояснення були зроблені перед переглядом скрінкасту. Зрештою, набагато легше прочитати абзаци тексту про вміст, а потім побачити його відтворення в короткому відео, ніж мати 15-хвилинне відео, чи не так?
Незважаючи на те, що це може бути корисним, це ще щось. І це те, що ми розглянемо в наступній публікації. Зокрема, ми розглянемо, як перевіряти значення змінних, переглядати, що містить масив, а потім, як ми можемо змінювати змінні на льоту.
Це потужна річ, але переконайтеся, що ви переглянули перший фрагмент вмісту, уважно переглянули цю публікацію та трохи потренувалися, перш ніж рухатися далі.