آموزش زبان کاتلین – درس ۶ (کامنت‌ها)

نویسنده : سید ایوب کوکبی ۲ آبان ۱۳۹۷

آموزش زبان کاتلین – درس 6 (کامنت‌ها)

کامنت به توضیحات متنی گفته می‌شود که برنامه‌نویسان در قسمت‌های مختلف کد درج می‌کنند. این توضیحات بعدها وقتی به کد مراجعه می‌کنیم یا وقتی کدهای خود را در اختیار دیگران قرار می‌دهیم به صورت واضح عملکرد برنامه را توضیح می‌دهند. کامپایلر در هنگام کامپایل از کامنت‌ها چشم‌پوشی می‌کند. البته نام‌گذاری درست و پیروی از یک قاعده‌ نظام‌مند بر کامنت‌‌گذاری ارجحیت دارد. در واقع کدها را طوری باید بنویسید که به تنهایی توضیح دهنده عملکرد خود باشند. افراط در استفاده از کامنت‌ها خود عامل مهمی در نابسامانی کدهاست. گاهی اوقات استفاده نابه‌جا از کامنت سرعت بررسی کدها را به شدت کاهش می‌دهد. بنابراین تنها زمانی از این قابلیت استفاده کنید که ضرورت داشته باشد. در کاتلین نیز همانند جاوا دو نوع کامنت اصلی وجود دارد:

  • /* … */
  • …….. //

کامنت چند خطی /* … */

برای توضیحات چند خطی از این نوع کامنت استفاده می‌شود. کاتلین هر آنچه بین /* و */ وجود دارد را نادیده می‌گیرد.

مثال:

/* This is a multi-line comment.
* The problem prints “Hello, World!” to the standard output.
*/
fun main(args: Array<String>) {

println(“Hello, World!”)
}

 

هیچ محدودیتی در طول کامنت‌ها وجود ندارد ولی زیاده‌روی نکنید. به اندازه و کوتاه بنویسید، طوری که از آن کوتاه‌تر راه نداشته باشد. کاتلین نوع دیگری از کامنت‌های چند خطی تحت عنوان KDoc دارد که برای مستندسازی خودکار کدها به کار می‌‌رود. این نوع کامنت دقیقاً مثل همین کامنت رایج چند خطی است فقط با این تفاوت که به جای */ با **/ شروع می‌شود. یعنی در ابتدا به جای یک ستاره، دو ستاره قرار می‌دهیم.

/**
* A group of *members*.
*
* This class has no useful logic; it’s just a documentation example.
*
* @param T the type of a member in this group.
* @property name the name of this group.
* @constructor Creates an empty group.
*/
class Group<T>(val name: String) {
/**
* Adds a [member] to this group.
* @return the new size of the group.
*/
fun add(member: T): Int { … }
}

 

بخوانید  برنامه‌نویسی پیشرفته اندروید با زبان کاتلین - بخش سوم (RxJava)

بهتر است در کامنت‌گذاری از همین روش استفاده کنید. بعدها به کمک ابزارهایی نظیر dokka می‌توانید این نوع کامنت‌ها را به صورت خودکار از داخل کد استخراج و به یک مستند کامل تبدیل کنید. Javadoc نیز از همین شیوه استفاده می‌کند.

کامنت تک خطی // در کاتلین

برای توضیحات کوتاه که در یک خط جای می‌گیرند از این روش استفاده می‌شود. کامپایلر، این نوع کامنت را هم نادیده می‌گیرد.

// Kotlin Hello World Program
fun main(args: Array<String>) {

println(“Hello, World!”) // outputs Hello, World! on the screen
}

 

استفاده صحیح از کامنت‌ها

همانطور که ابتدای مطلب گفتم. کامنت روشی مناسب برای توضیح کدهای کثیف نیست. در قدم اول کدها باید خوب نوشته شوند، خوب نام‌گذاری شوند و سپس اقدام به استفاده از کامنت کنید. رابرت.سی.مارتین در کتاب Clean Code برای استفاده از کامنت‌ها قواعد جالبی وضع کرده است که بد نیست به تعدادی از آن‌ها اشاره کنم:

  • همیشه سعی کنید کدهای واضح و خودتوصیف‌گر بنویسید؛
  • از اضافه‌گویی پرهیز کنید؛
  • از تورفتگی‌ها به خوبی استفاده کنید.

هستند افرادی که کلاً با کامنت‌ها مخالفند، بعضی‌ها هم مثل من نه. به اعتقاد من هیچ اشکالی ندارد برای ریجکسی پیچیده، یک توضیح کوتاه استفاده کنیم که بگوید این الگو قرار است چه چیزی را از متن استخراج کند. یا در هنگام استفاده از یک الگوریتم ابتکاری، اضافه کردن چند خط توضیح راه دوری نمی‌رود. به هر حال این موضوع گاهی سلیقه‌ای است ولی فصل مشترک همه‌ی این بحث‌ها این است که اگر قرار به استفاده از کامنت است، به‌جا، درست و به‌اندازه استفاده کنیم.

سید ایوب کوکبی

نویسنده و مترجم...

0 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *