ในฟังก์ชั่นแบบเรียกซ้ำมันมักจะมีประสิทธิภาพในการส่งผลจากขั้นตอนหนึ่งไปอีกขั้น ในการส่งสัญญาณถึงผู้ใช้ว่าเขาไม่จำเป็นต้องระบุพารามิเตอร์มันก็สมเหตุสมผลที่จะตั้งชื่อพารามิเตอร์ "result":
def removeOccurence [A] (slice: Seq[A], original: Seq[A]) = {
@scala.annotation.tailrec
def remove (leftOriginal: Seq[A], result: Seq[A]) : Seq[A] =
trimStart (slice, leftOriginal) match {
case (h :: tail) => remove (tail, h +: result)
case (Nil) => result.reverse
}
remove (original, Nil)
}
แต่บ่อยครั้งที่ฉันใช้ 'พกพา' และ 'โซฟา' ซึ่งฉันเคยเห็นในป่าและมีความคิดที่ดีขึ้นในกรณีส่วนใหญ่
แน่นอนเหตุผลที่สองคือถ้าหัวข้อของคุณแนะนำคำว่า '' ผลลัพธ์ '' ตัวอย่างเช่นถ้าคุณทำการประเมินทางคณิตศาสตร์ คุณอาจแยกวิเคราะห์สูตรแทนที่ตัวแปรด้วยค่าและคำนวณผลลัพธ์ในที่สุด
เหตุผลข้อที่สามมีการระบุไว้แล้ว แต่ฉันมีความเบี่ยงเบนเล็กน้อย: คุณเขียนวิธีการทำงานบางอย่างสมมติว่ามันประเมินรูปแบบของ '' max ''
def max = {
val result = somethingElseToDo
if (foo) result else default
}
แทนที่จะเรียกผลลัพธ์ '' ผลลัพธ์ '' เราสามารถเรียกมันว่า '' max '' แต่ในบางภาษาคุณสามารถละเว้นวงเล็บเมื่อเรียกใช้เมธอดดังนั้น max จะเป็นการเรียกซ้ำไปยังเมธอดนั้นเอง
โดยทั่วไปแล้วฉันต้องการชื่อที่บอกว่าผลลัพธ์คืออะไร แต่ถ้าชื่อนั้นถูกใช้ไปแล้วอาจมีตัวแปรมากกว่าหนึ่งรายการซึ่งเป็นที่มาหรือวิธีการเนื่องจากมีฟิลด์ GUI, การแทนสตริง, ตัวเลขและอีกหนึ่งสำหรับฐานข้อมูลโดยใช้อีกหนึ่งเพิ่มความน่าจะเป็นของความสับสน ในวิธีการสั้น ๆ 3 ถึง 7 บรรทัด '' result '' ไม่ควรมีปัญหาสำหรับชื่อ
ofTheJedi
ใช้เพื่อจุดประสงค์นั้น ไม่ใช่คำแนะนำแค่บอกว่าฉันเห็นแล้วZorglub ofTheJedi = //...; return ofTheJedi;