در حال بارگزاری ...

چگونه می‌توان از نوشتن یک کد بد در برنامه نویسی اجتناب کرد؟

توسط الهه قنبری
آخرین به روز رسانی یکشنبه 28 مهر 1398

آیا تا به حال کد بد نوشته‌اید؟ این مسئله در بین تمام برنامه نویسان مشترک است، هر برنامه نویسی ممکن است یک بار کد بد نوشته باشد یا با یک کد بد مواجه شده باشد. در واقع، ما فکر می‌کنیم که کد بد همیشه با نتایج منفی همراه است ولی می‌توانیم به این موضوع از منظر دیگری نگاه کنیم و جنبه&zwn ...


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

h[jkhf hc نوشتن یک کد بد در برنامه نویسی

ما کدهای زیادی می‌نویسیم و در حقیقت، ممکن است چندین بار کد خود را بازنویسی کنیم. ما حتی ممکن است کد خود را به صورت مداوم بازنویسی کنیم و این بدان معناست که ما کد بد را می‌شناسیم و با آن مواجه شده‌ایم. اما، سوال اینجاست کد بد دقیقا کدام است؟ شناسایی کد بد می‌تواند به سه عامل زیر مرتبط باشد:

  •  عملکرد (Functionality)
  •  قابلیت نگهداری (Maintainability)
  • خوانایی (Readability) 

موارد بالا سه اصل مهم در نوشتن یک کد خوب هستند. اگر کد شما یکی از این موارد را نداشته باشد، به احتمال زیاد جز کدهای بد محسوب می‌شود.

عملکرد کد (Functionality)

کد عملکردی کدی است که همواره کاری را انجام می‌دهد. بنابراین، کد بد از نظرعملکرد، کدی است که کاری را انجام نمی‌دهد. مثالی از این مورد را در نظر بگیرید که در آن کد ما به ورودی کاربر وابسته است، در این صورت باید مطمئن شویم که کد مناسب را در اختیار داریم تا بتوانیم انواع ورودی‌هایی را که کاربر می‌تواند در برنامه استفاده کند را مدیریت کنیم. در مثال زیر، ما یک تابع داریم که URL را فرمت می‌کند و داده‌ها را از URL فرمت شده استخراج می‌کند. مشکل این است که متغیر name یک ورودی کاربر است. از آنجایی که ما هیچ بررسی برای اطمینان از اینکه متغیر name دارای یک مقدار معتبر است یا خیر، انجام نمی‌دهیم؛ بنابراین، هیچ تعریفی برای چگونگی رفتار تابع در صورتی که کاربر چیزی را که انتظار داریم وارد نکند، نداریم.

function getPage(type) {
return (name, next) => {
var url = fmt('https://sampleurl/' + type + 'master/%s.md', name);
request(url, (err, resp, content) => {
return next(err, marked.parse(content));
});
}
}

قابلیت نگهداری کد (Maintainability)

مطالعه بیشتر در لیداوب:

در زمان نوشتن کد باید به این نکته توجه کنیم که کد ما به صورتی نوشته شود که در صورت نیاز بتوانیم آن را ارتقا داده یا تغییر دهیم. کدی که دارای قابلیت نگهداری نباشد، به سختی می‌تواند تغییر داده شود. در این صورت، ما باید زمان زیادی را صرف فهمیدن هدف کد و بازنویسی کامل آن برای ایجاد تغییرات موردنظر خود کنیم. به عنوان یک مثال، کدی که اصول برنامه نویسی ساختار یافته و رویه‌ای را نقض می‌کند مانند کدی که از تعداد زیادی دستور GOTOدر ساختار خود دارد، نشانگر این است که قابلیت Maintainability در آن رعایت نشده است.

خوانایی کد (Readability)

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

function transform(type, arg, data, skip, limit) {
if (!arg && transformKeyArg[type]) {
data = data.sort((a, b) => {
return a.value === b.value ? (
a.name === b.name ? 0 : a.name < b.name ? -1 : 1
) : a.value > b.value ? -1 : 1
}).slice(skip, skip + limit)
}
return data;
}

چگونه می‌توانیم از نوشتن یک کد بد اجتناب کنیم؟

قبل از اینکه درباره نوشتن یک کد خوب صحبت کنیم، باید بدانیم که با چه روش‌هایی می‌توان یک کد بد را شناسایی کرد. وجود موارد زیر در برنامه نویسی نشانگر یک کد بد است.

مسیرهای تودرتو

اگر کد شما دارای تعداد زیادی ساختار if-then-else یا عملیات سه بعدی باشد، نشان ‌دهنده این است که کد شما یک کد بد است. البته، ما باید تمام وظایف را در کد خود پوشش دهیم ولی این بدان معنا نیست که مجاز هستیم در کد خود از انشعاب‌های تو در توی زیادی استفاده کنیم.

درک راحت کد

توجه داشته باشید که اگر بخواهید کدی را بنویسید که برای درک آن نیاز به زمان و دانش زیادی باشد، باید گفت که این کد می‌تواند یک کد بد باشد.

یافتن نام متغیر مناسب

همه ما می‌دانیم که چقدر مهم است نام متغیرهای ما معنی دار و راحت باشد و در عین حال، طولانی نیز نباشد. نکته مهم این است که بین یافتن نام‌های کوتاه و معنی دار تعادل برقرار کنیم.

کار کردن بر روی تمام سیستم ها

گاهی ممکن است برنامه‌ای که نوشته‌اید به درستی در محیط محلی کار کند ولی در محیط‌های دیگر نه. این نشان می‌‌دهد که کد شما یک کد بد است.

ایجاد دوباره کد

همه ما دوست داریم کار خودمان را به دیگران عرضه کنیم ولی نباید در این کار موارد موجود را باز تولید کنیم. به عنوان مثال، اگر شما یک توسعه دهنده جاوا اسکریپت هستید، در حالی که console.log وجود دارد، نیازی به نوشتن یک logger جدید نیست. بنابراین، کدی که سعی دارد چیزی که قبلا وجود دارد را بازتولید کند، یک کد بد است.

نوشتن یک کد بد در برنامه نویسی

خب، اکنون با مواردی که ممکن است کد ما را تبدیل به یک کد بد کند آشنا شدیم اما سوال اینجاست که چگونه می‌توانیم از آن‌ها اجتناب کنبم و یک کد تمیز یا خوب بنویسیم؟

برنامه ریزی دو طرفه

اگر روزها یا هفته‌ها بر روی مجموعه‌ای از کدها مشغول به کار هستید، جلسات کوتاه با شخصی که با او کار می‌کنید، می‌تواند راه گشای شما در بهتر نوشتن کدتان باشد. زیرا او با توجه به نیازهای خود از شما سوال کرده و شما را بهتر راهنمایی می‌کند.

مقایسه تغییرات با موارد موردنیاز

هر زمان که کد خود را کامیت می‌کنید، تغییرات خود را با چیزی که نیاز دارید، مقایسه کنید. این روش می‌تواند در حذف موارد غیر ضروری کد شما مفید باشد.

نوشتن تست برای کد

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

بررسی کد توسط توسعه دهندگان دیگر

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

چگونه می‌توان کد بد را به یک کد خوب تبدیل کرد؟

زمانی که در ابتدا کدی را می‌نویسید، ممکن است ندانید که در حال نوشتن یک بد هستید تا زمانی که دوباره به کد برگشته و بخواهید موردی را در آن اصلاح کنید. این یک فرصت عالی برای شما خواهد بود تا کد خود را بهبود ببخشید.

در این مقاله با کدهای کثیف یا بد در برنامه نویسی آشنا شدیم و سازوکار اجتناب از نوشتن چنین کدهایی را فراگرفتیم. امیدوارم این مقاله از لیداوب برای شما مفید واقع شود و راهنمای خوبی برای شما در نوشتن کدهای خوب و تمیز باشد. با سایر مقالات ما همراه باشید.

دیدگاه ها

دیدگاه ها : 0


متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

رایگان

اشتراک گذاری در
ثبت امتیاز
0 (2 رای)

   لطفا صبر کنید ...