به عنوان یک برنامه نویس تازهکار، ممکن است برایتان ناامیدکننده باشد که به طور مداوم باید جملات صحیحی بنویسید تا کامپیوتر کدهای شما را درک کند. دلیل این امر این است که - برخلاف زبانهای انسانی - زبانهای برنامه نویسی بخشنده نیستند. غلط املایی یا نگارشی نادرست می تواند کل برنامه را غیرقابل استفاده کند.
با این حال، زبان برنامه نویسی یک رسانه ارتباطی برای کامپیوتر و انسان است. پس از غلبه بر موانع موجود رایانهای برای خواندن کدها، باید در تلاش برای خوانا بودن کد خود برای سایر برنامه نویسان باشید، تا گسترش و نگهداری آن آسان باشد. سبک کدنویسی شما نشان می دهد که شما در کجا برنامه نویسی یاد گرفتهاید، از چه ویرایشگری استفاده میکنید، از کدام زبانها طرفداری میکنید و چگونه با دیگران همکاری میکنید. اینکه تصمیم بگیرید از tab یا space، از comment، camel-case یا underscore-case استفاده کنید، نشان میدهد که شما چه نوع برنامه نویسی هستید و به استایل کدنویسی شما تبدیل میشوند.
در این مقاله، ما توصیههای داستان نویس و مقالهنویس آمریکایی، Kurt Vonnegut، در مورد چگونگی بهبود سبک کدنویسی خود را با قوانین زیر مطالعه میکنیم :
موضوعی را پیدا کنید که به آن اهمیت میدهید
Kurt Vonnegut از نویسندگان میخواهد موضوعی را انتخاب کنند که واقعاً به آن اهمیت میدهند تا شور و شوق آنها از طریق نتیجه کارشان بدرخشد. ممکن است شما مشکلات الگوریتمی داشته باشید، یا شاید به شدت با کاربران نهایی خود به مشکل بر بخورید.
وقتی واقعاً به موضوع خود اهمیت میدهید، باید نام هر یک از متغیرها، توابع و طرحها، تجزیه و تحلیل هر آنچه کاربر میخواهد و یادگیری زبانهای برنامه نویسی را یاد بگیرید.
سرگردان نباشید
وقتی میبینید که کدها به هم میریزند، این معمولاً به معنی است که کد شما بیش از حد کار میکند، یا اینکه بسیاری از مفاهیم را با هم ترکیب کردهاید. به عبارت دیگر، شما قانون Single Responsibility Principle یا قانون Demeter (LOD ) را نقض کردهاید.
class StatementCalculatorPrinterManager {
calculateLineItemsThenFormatAndPrintStatement() {
// busy work
}
}
Single Responsibility Principl بیان میکند که هر عملکرد باید فقط یک مسئولیت یا یک دلیل برای تغییر داشته باشد. اگر در حال نوشتن نام متغیرهای بسیار طولانی یا تعداد زیادی کد در یک تابع هستید، این نشانه نقض این اصل است.
const getBanana = () => {
this.get(this.jungle.gorilla.banana);
}
قانون Demeter از شما میخواهد توابع خود را به خوبی درجای مناسب نگه دارید. وقتی کدی را خارج از محدوده فعلی خود ارجاع میدهید، در نهایت مشکلات بیشتری نسبت به ارجاع آن در ابتدا برای شما به وجود خواهد آمد. همانطور که خالق Erlang، جو آرمسترانگ، عاقلانه بیان کرد: (شما یک موز میخواستید اما آنچه بدست آوردید گوریل نگهدارنده موز بود).
ساده بگیرید
بهترین برنامه نویسان میتوانند کدهای بامعنی و مختصر را در چارچوبهای نسل بعدی یا الگوهای پیچیده طراحی ارائه دهند، دقیقا همانطور که بزرگان زبان میتوانند احساسات شما را با جملات مینیمالیستی و کودک مانند تحریک کنند.
KISS همچنین یک اصل طراحی معروف در چندین رشته مهندسی است. سادگی دست کم گرفته شده است.
جرعت حذف کردن کدهای اضافه را داشته باشید
مهم نیست که چقدر خلاقیت و زمان برای نوشتن کدها گذاشتهاید، وقتی یک خط کد دیگر هدفی را دنبال نمیکند، شما باید آن جمله را حذف کنید. به خاطر داشته باشید که هر خط کد با هزینه نگهداری و پیچیدگی همراه است. احتکار کد در یک پروژه کمکی یا اظهار نظر کردن در مورد آنها فقط سختی بیشتری برای شما و تیم شما به همراه خواهد داشت.
خودتان را باور کنید
ممکن است مجبور باشیم در این مورد با Kurt Vonnegut اختلاف نظر داشته باشیم. زبان برنامه نویسی پایه شما میتواند C، Java یا Ruby باشد. با این حال، هنگامی که در JavaScript مینویسید، میخواهید مانند یک برنامه نویس JavaScript به نظر برسید.
همه انواع زبانهای برنامه نویسی زیبا هستند. این کمک میکند اگر یاد بگیرید که به هر زبانی که به طور حرفهای با آن کار میکنید بنویسید و به سایر برنامه نویسان هشدار میدهید که شما زبان را مطالعه کردهاید و میدانید چه کاری انجام میدهید.
هر آنچه در نظر دارید بگویید، بگویید
یک دانشجوی زبان انگلیسی برای یادگیری نحوه نوشتن دقیق مجبور است مقالات و کتابهای بیشماری را مطالعه کند. به همین ترتیب، یک دانشجوی برنامه نویسی باید آماده باشد تا هزاران هزار کد را بخواند تا بتواند ویژگیهای زبان مناسب و ساختار داده مناسب را انتخاب کند.
ترحم به خوانندگان
آیا هم تیمیای داشتهاید که طوری کد نویسی کند مثل اینکه بخواهد ذهن شما را در درگیر کند؟ پس از بررسی شاخههای کد، سرانجام به خروجی میرسید و میفهمید که میتوانید کل مطلب را در پنج خط کد بازنویسی کنید.
به عنوان یک برنامه نویس، بیشتر وقت خود را صرف جستجوی نقص نرمافزار و کشف اسرار رفتارهای غیرمنتظره سیستم خواهید کرد. کمترین کاری که میتوانید انجام دهید این است که هدف خود از کدها را بدون اینکه ذهن خوانندگان کد را درگیر کنید، بیان کنید.
نتیجه
یادگیری نوشتن با استایل خاص مهارت مهمی است، به خصوص اگر در ابتدای کار برنامه نویسی خود قادر به تسلط بر این مهارت باشید. نه تنها زندگی شما را آسان می کند، بلکه به اطرافیان شما کمک میکند و به طور بالقوه به شما کمک می کند که با سرعت بیشتری در حرفه خود پیشرفت کنید. برای پیشنهاد خاص و فنی آخر ، توصیه میکنم یک auto-format plugin را در ویرایشگر کد نصب کنید.
این ابزارها باید مبتنی بر زبان اصلی یا جامعه محور باشند و میتواند با کدنویسی فورا بازخورد دهند. به عنوان مثال PEP 8برای پایتون، ESLint برای جاوااسکریپت و راهنمای Ruby. علاوه بر این، شما میتوانید در ابزار اختصاصی تجزیه و تحلیل کد استاتیک مانند SonarQube و Veracode، برای گزارش استاندارد خود استفاده کنید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید