Це, мабуть, чудова ідея!
Я вирішую питання з розбиттям довгих лінійних послідовностей дій на окремі функції, щоб зменшити середню довжину функції у вашій кодовій базі:
function step1(){
// ...
step2(zarb, foo, biz);
}
function step2(zarb, foo, biz){
// ...
step3(zarb, foo, biz, gleep);
}
function step3(zarb, foo, biz, gleep){
// ...
}
Тепер ви фактично додали рядки джерела та значно знизили загальну читабельність. Особливо, якщо ви зараз передаєте безліч параметрів між кожною функцією для відстеження стану. Yikes!
Однак якщо вам вдалося витягнути один чи кілька рядків у чисту функцію, яка виконує єдину чітку мету ( навіть якщо вона викликається лише один раз ), ви покращили читабельність:
function foo(){
f = getFrambulation();
g = deglorbFramb(f);
r = reglorbulate(g);
}
У реальних ситуаціях це, мабуть, буде непростим, але частину чистої функціональності часто можна дражнити, якщо думати про це досить довго.
Ви знаєте, що ви на правильному шляху, коли у вас є функції з гарними іменами дієслів і коли ваша батьківська функція викликає їх, і все це практично читається як абзац прози.
Потім, коли ти повернешся тижнів пізніше, щоб додати більше функціональності, і виявиш, що ти можеш реально повторно використовувати одну з цих функцій, тоді о, захоплююча радість! Яке дивовижне сяйво!