পুনরাবৃত্তির ক্রিয়ায়, ফলাফলটি ধাপে ধাপে ধাপে বহন করা, একটি লেজ কল অপ্টিমাইজেশনের জন্য কার্যকর হয় effective ব্যবহারকারীর কাছে ইঙ্গিত দেওয়ার জন্য, তার কোনও পরামিতি সরবরাহ করার দরকার নেই, পরামিতিটির "ফলাফল" নামকরণ করা যুক্তিসঙ্গত হতে পারে:
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)
}
তবে প্রায়শই আমি 'ক্যারি' এবং 'সোফার' ব্যবহার করি, যা আমি বন্যের মধ্যে দেখেছি এবং যা বেশিরভাগ ক্ষেত্রেই ধারণাটি আরও খানিকটা ভাল করে তোলে।
দ্বিতীয় কারণটি অবশ্যই, যদি আপনার বিষয়টি '' ফলাফল '' শব্দের পরামর্শ দেয়, উদাহরণস্বরূপ যদি আপনি গাণিতিক মূল্যায়ন করেন। আপনি সূত্রটি বিশ্লেষণ করতে পারেন, মানগুলির সাথে ভেরিয়েবলগুলি প্রতিস্থাপন করতে পারেন এবং শেষ পর্যন্ত ফলাফল গণনা করতে পারেন।
তৃতীয় কারণ ইতিমধ্যে বলা হয়েছে, তবে আমার একটি ছোট বিচ্যুতি রয়েছে: আপনি একটি পদ্ধতি লিখুন যা কিছু কাজ করে, আপনি যাক এটি '' সর্বোচ্চ '' র একটি ফর্মকে মূল্যায়ন করে।
def max = {
val result = somethingElseToDo
if (foo) result else default
}
ফলাফলটিকে '' রেজাল্ট '' বলার পরিবর্তে আমরা এটিকে '' সর্বোচ্চ '' বলতে পারি, তবে কিছু ভাষায় আপনি কোনও পদ্ধতিতে কল করার সময় বন্ধনী বাদ দিতে পারেন, তাই পদ্ধতিটি নিজেই ম্যাক্সের পুনরাবৃত্তি কল হবে।
সাধারণভাবে, আমি এমন একটি নাম পছন্দ করবো যা বলবে যে ফলাফল কী হবে। তবে যদি সেই নামটি ইতিমধ্যে নেওয়া হয়, তবে সম্ভবত একাধিক পরিবর্তনশীল, বৈশিষ্ট্য বা পদ্ধতি দ্বারা, কারণ একটি জিইউআই-ফিল্ড রয়েছে, একটি স্ট্রিং প্রতিনিধিত্ব আছে, একটি সংখ্যাসূচক এবং একটি ডাটাবেসের জন্য অন্য একটি ব্যবহার করলে বিভ্রান্তির সম্ভাবনা বাড়িয়ে তোলে। 3 থেকে 7 লাইনের সংক্ষিপ্ত পদ্ধতিতে, '' ফলাফল '' কোনও নামের জন্য সমস্যা হওয়া উচিত নয়।
ofTheJedi
সেই উদ্দেশ্যে ব্যবহৃতও দেখেছি । কোনও প্রস্তাবনা নয়, কেবল বলেছি এটি আমি দেখেছি।Zorglub ofTheJedi = //...; return ofTheJedi;