خواندن کد- از کجا بفهمم تازه‌ کارم یا حرفه‌ای

خواندن کد- از کجا بفهمم تازه‌ کارم یا حرفه‌ای
در این پست می‌خوانید:

مقدمه : تفاوت خواندن کد برنامه نویس حرفه ای و تازه کار 

خواندن کد یکی از مهارت‌های اصلی برنامه‌نویسی است، اما هر برنامه‌نویسی به یک شکل کد را پردازش می‌کند.
یک برنامه نویس تازه‌کار ممکن است فقط خطوط کد و آنچه چاپ می‌شود را ببیند، در حالی که یک برنامه نویس حرفه‌ای ساختار، وراثت و جریان داده‌ها را در ذهن خود مدل‌سازی می‌کند.
در این مقاله با یک مثال ساده از کلاس و زیرکلاس در Kotlin، که ( میتونه مقدمه ای اموزشی برای مبحث وراثت در کاتلین هم در نظر گرفته بشه ) تفاوت خواندن کدِ این دو گروه را بررسی می‌کنیم.

 

خواندن کد تفاوت دیدگاه برنامه نویسی حرفه ای و تازه کار

۱. مثال کد

// کلاس پایه
open class BankAccount(val accountNumber: Int, var accountBalance: Double) {
    open fun displayBalance() {
        println("Account number: $accountNumber")
        println("Balance: $accountBalance")
    }
}

// زیرکلاس
class SavingsAccount(accountNumber: Int, accountBalance: Double) : BankAccount(accountNumber, accountBalance) {
    var interestRate: Double = 0.0

    fun calculateInterest(): Double {
        return interestRate * accountBalance
    }

    override fun displayBalance() {
        println("Number $accountNumber")
        println("Current balance is $accountBalance")
        println("Prevailing interest rate is $interestRate")
    }
}

۲. دید برنامه‌نویس تازه‌کار

تازه‌کارها معمولاً کد را خط به خط و ساده می‌خوانند:

  • BankAccount یک کلاس پایه است.
  • SavingsAccount کلاس فرزند است که از BankAccount ارث می‌برد.
  • calculateInterest() تابعی برای محاسبه بهره است.
  • displayBalance() اطلاعات حساب را چاپ می‌کند.

و تمام ، در این جا نکته که هست :

تمرکز اصلی تازه‌کار روی کارکرد ظاهری کد و خروجی آن است، نه ساختار یا جریان داده‌ها.

و اگر این دیدگاه یا روش خواندن کد  عوض نشه ، در اینده فهم مطالب پیچیده که ، نیاز به دانش عمیق داره ، مشکل میشه و همچنین دیباگ کردن در پروژه های بزرگ خیلی زمان برخواهد شد

اما بیان به دیدگاه یه حرفه ای نگاه کنیم .

۳. دید برنامه‌نویس حرفه‌ای

حرفه‌ای‌ها کد را ساختاری و مفهومی پردازش می‌کنند:

  • class SavingsAccount → تعریف کلاس جدید برای ارث بری هست
  • : BankAccount → مشخص می‌کند کلاس والد است که کلاسه ای دیگه از اون ارث بری میکنند
  • Open : این واژه ، برای این است که روی کلاس های والد استفاده میشه تا قابلیت ارث بری از اون ها فعال بشه
  • constructor : مفهومی که در کلاس ها استفاده میشه که برای مقدار دهی به Property ها که در ساخت کلاس نیاز است که در اول این کار انجام بشه
  • constructor(accountNumber: Int, accountBalance: Double) → پارامترها و نحوه انتقال آن‌ها به کلاس والد
  • var interestRate: Double → متغیر داخلی کلاس
  • fun calculateInterest(): Double → تابع با نوع خروجی مشخص
  • override fun displayBalance() → بازنویسی تابع والد برای تغییر رفتار چاپ ، چون اگر کلاس والد نیاز های من رو پوشش نده ، باید تابع رو باز نویسی کنم

مطالعه ای بیشتر : تفاوت پارامتر و آرگیومنت 

ذهن حرفه‌ای کد را به مدل ذهنی کلاس‌ها و ارتباط بین آن‌ها ترجمه می‌کند، نه فقط دستورالعمل‌ها.

و همیچنین ذهن یه برنامه نویس حرفه راه های خلاقانه ای هم تولید میکنه مثلا در ادامه همین کد ،

// زیرکلاس
class SavingsAccount(accountNumber: Int, accountBalance: Double) : BankAccount(accountNumber, accountBalance) {
    var interestRate: Double = 0.0

    fun calculateInterest(): Double {
        return interestRate * accountBalance
    }

    override fun displayBalance() {
       super.displayBalance()
        println("Prevailing interest rate is $interestRate")
    }
}
  • super : با این واژه من میتونم به تابع ها کلاس والد هم دسترسی پیدا کنم پس میتونم داخل تابع به جای کد های تکراری از این کد استفاده کنم : super.displayBalance() ( اگه به کد قبلی نگاه کنید دو خط از کد قبلی حذف و این تابع در اینجا جای گزین اون ها شده با همون کار کرد ! )

جمع‌بندی

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

قانون طلایی

  • البته دانش فنی هر چه قدر قدرتمند باشه ، راحتر روابط بین کد ها رو درک میکنید و خواندن کد برای شما اسان تر میشه

💡 نکته عملی:
می‌توانید این روش را با مثال‌های واقعی پروژه‌ها تمرین کنید. هر تابع، کلاس یا زیرکلاسی را که می‌بینید، ابتدا با دید تازه‌کار و سپس با دید حرفه‌ای تحلیل کنید.

موفق باشید 🍎

دیدگاه‌ها ۰
ارسال دیدگاه جدید