ใช่ฟังก์ชั่นอาจมีขนาดเล็กลงและเล็กลงและไม่ว่าจะดีหรือไม่ดีขึ้นอยู่กับภาษา / กรอบงานที่คุณใช้
ในความคิดของฉันฉันส่วนใหญ่ทำงานกับ Front End Technologies ฟังก์ชั่นขนาดเล็กส่วนใหญ่จะใช้เป็นฟังก์ชั่นผู้ช่วยคุณจะผูกพันที่จะใช้พวกเขาเช่นมากเมื่อทำงานกับตัวกรองขนาดเล็กและใช้ตรรกะเดียวกันในใบสมัครของคุณ หากแอปพลิเคชันของคุณมีตรรกะทั่วไปมากเกินไปจะมีฟังก์ชั่นเล็ก ๆ มากมาย
แต่ในแอปพลิเคชันที่คุณไม่มีตรรกะทั่วไปคุณจะไม่ถูกผูกมัดเพื่อสร้างฟังก์ชั่นเล็ก ๆ แต่คุณสามารถแบ่งรหัสของคุณออกเป็นส่วน ๆ ซึ่งทำให้ง่ายต่อการจัดการและทำความเข้าใจ
โดยทั่วไปแล้วการแบ่งรหัสขนาดใหญ่ของคุณเป็นฟังก์ชั่นขนาดเล็กเป็นวิธีการที่ดีมาก ในกรอบและภาษาสมัยใหม่คุณจะต้องทำเช่น
data => initScroll(data)
เป็นฟังก์ชั่นที่ไม่ระบุชื่อใน ES 2017 JavaScript และ Typescript
getMarketSegments() {
this.marketService.getAllSegments(this.project.id)
.subscribe(data => this.segments = data, error => console.log(error.toString()));
}
ในรหัสข้างต้นคุณสามารถเห็นการประกาศฟังก์ชั่น 3 และการเรียกใช้ฟังก์ชั่น 2 ครั้งนี่เป็นการเรียกการบริการที่เรียบง่ายใน Angular 4 พร้อมด้วย typescript คุณสามารถคิดได้ตามความต้องการของคุณ
([] 0)
([x] 1)
([x y] 2)
ด้านบนเป็น 3 ฟังก์ชั่นนิรนามในภาษา clojure
(def hello (fn [] "Hello world"))
หนึ่งข้างต้นเป็นการประกาศฟังก์ชั่นใน clojure
ดังนั้นใช่ฟังก์ชั่นอาจมีขนาดเล็กลง แต่ไม่ว่าจะดีหรือไม่ดีถ้าคุณมีฟังก์ชั่นเช่น:
incrementNumber(numb) { return ++numb; }
มันไม่ใช่วิธีปฏิบัติที่ดีที่จะทำเช่นนั้น แต่ถ้าคุณใช้ฟังก์ชั่นนี้ในแท็ก HTML อย่างที่เราทำใน Angular Framework หากไม่มีการสนับสนุนสำหรับการเพิ่มหรือลดลงในเทมเพลต HTML เชิงมุมนี่จะเป็นทางออกสำหรับ ฉัน.
ลองอีกตัวอย่างหนึ่ง
insertInArray(array, newKey) {
if (!array.includes(newKey)) {
array.push(newKey);
}
}
ตัวอย่างข้างต้นเป็นสิ่งที่จำเป็นเมื่อเล่นเมื่ออาร์เรย์ภายในเทมเพลต HTML เชิงมุม ดังนั้นบางครั้งคุณต้องสร้างฟังก์ชั่นเล็ก ๆ
Assert.AreEqual<int>(expected, actual, message, arg1, arg2, arg3, ...);
'เป็นทรัพย์สินซึ่งเป็นสง่าและจะพิจารณาการใช้ อย่างที่สองก็ดีเหมือนเดิม ฉันอาจจะรวมธงบูลเสริมซึ่งจะกำหนดว่าจะโยนข้อยกเว้น / etc ในกรณีที่โทรกลับไม่ใช่ฟังก์ชั่น