มันอาจเป็นความคิดที่ยอดเยี่ยม!
ฉันมีปัญหากับการแบ่งลำดับเส้นตรงยาวของการกระทำออกเป็นฟังก์ชั่นแยกกันหมดจดเพื่อลดความยาวฟังก์ชันโดยเฉลี่ยใน codebase ของคุณ:
function step1(){
// ...
step2(zarb, foo, biz);
}
function step2(zarb, foo, biz){
// ...
step3(zarb, foo, biz, gleep);
}
function step3(zarb, foo, biz, gleep){
// ...
}
ตอนนี้คุณได้เพิ่มบรรทัดแหล่งที่มาและลดความสามารถในการอ่านโดยรวม โดยเฉพาะอย่างยิ่งหากคุณผ่านพารามิเตอร์จำนวนมากระหว่างแต่ละฟังก์ชันเพื่อติดตามสถานะ อ๊ะ!
อย่างไรก็ตามหากคุณจัดการเพื่อแยกหนึ่งบรรทัดขึ้นไปในฟังก์ชันบริสุทธิ์ที่ให้บริการวัตถุประสงค์เดียวที่ชัดเจน ( แม้ว่าจะถูกเรียกเพียงครั้งเดียว ) คุณก็จะสามารถอ่านได้ดีขึ้น:
function foo(){
f = getFrambulation();
g = deglorbFramb(f);
r = reglorbulate(g);
}
สิ่งนี้อาจไม่ใช่เรื่องง่ายในสถานการณ์จริง แต่ชิ้นส่วนของฟังก์ชั่นล้วน ๆ สามารถถูกล้อเล่นได้หากคุณคิดว่ามันนานพอ
คุณจะรู้ว่าคุณกำลังอยู่ในเส้นทางที่ถูกต้องเมื่อคุณมีฟังก์ชั่นที่มีชื่อกริยาที่ดีและเมื่อฟังก์ชั่นหลักของคุณเรียกพวกเขาและสิ่งที่อ่านได้เหมือนร้อยแก้ว
จากนั้นเมื่อคุณกลับมาสัปดาห์ต่อมาเพื่อเพิ่มฟังก์ชันการทำงานมากขึ้นและคุณพบว่าคุณสามารถใช้หนึ่งในฟังก์ชั่นเหล่านั้นได้อีกครั้งจากนั้นโอ้ความสุขที่ลืมไม่ลง! ช่างเป็นความปลื้มปิติที่ยอดเยี่ยม!