رفتن به مطلب
انجمن آی ترفند

جستجو در تالارهای گفتگو

در حال نمایش نتایج برای برچسب های 'کدزنی تمیز'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالارهای گفتگو

  • اخبار سایت
    • آخرین خبرها
    • پیشنهادهای شما
    • ارتقا و تنزل اعضا
  • نرم افزار
    • نرم افزار کاربردی
    • آموزش نرم افزارها
    • مشکلات و درخواست ها
  • موبایل
    • برنامه موبایل
    • بازی موبایل
    • مشکلات و درخواست ها
  • گرافیک
    • فایل های گرافیکی
    • آموزش های گرافیکی
    • سوالات شما
  • اینترنت
    • مباحث مرورگرها
    • مباحث امنیتی
    • آموزش های اینترنت
  • سخت افزار
    • مشکلات سخت افزاری
    • راهنمایی خرید
    • معرفی
  • بازی رایانه
    • دانلود بازی
    • ترفند بازی
    • مشکلات شما
  • زبان های برنامه نویسی
    • آموزش های برنامه نویسی
    • مشکلات برنامه نویسی
    • معرفی
  • آنتی ویروس
    • آموزش آنتی ویروس ها
    • مشکلات آنتی ویروس ها
    • معرفی
  • سیستم عامل
    • ترفندهای سیستم عامل
    • مشکلات سیستم عامل
    • معرفی
  • گفتگو آزاد
    • متفرقه
    • معرفی سایت
    • قرعه کشی

جستجو در ...

نمایش نتایجی که شامل ...


تاریخ ایجاد

  • شروع

    پایان


آخرین بروزرسانی

  • شروع

    پایان


فیلتر بر اساس تعداد ...

تاریخ عضویت

  • شروع

    پایان


گروه


درباره من


محل زندگی


شغل


شماره موبایل


تلگرام


مرورگر


سیستم عامل


آنتی ویروس

1 نتیجه پیدا شد

  1. itarfand

    آموزش

    کامنت ها در واقعیت کامنت ها واقعا زیاد مفید نیستند. چون نه به عمد، اما اطلاعات خوبی به خواننده ی کد نمی دهند. کد تغییر می کند و اتفاقات مختلف در آن می افتد. اما کامنت معمولا این تغییرات را همراهی نمی کند. پس کامنت نادقیق خیلی بدتر از نبودن کامنت است. نکات مورد توجه در مورد کامنت ها: کامنت ها کد های بد را خوب نمی کنند. زمانی که کد گیج کننده ای می نویسیم سعی میکنیم با نوشتن کامنت بدی کد را جبران کنیم، اما بهتر است کامنت را پاک کرده و از اول کد را بنویسیم. کار خود را در کد توضیح دهید. به جای اضافه کردن کامنت سعی کنید کد خود را خوانا بنویسید. چون یک کد تمیز زودتر از یک کد کثیف با کامنت فهمیده می شود. کامنت های خوب: کامنت های مجاز: که قوانین را اعلام می کنند. مثل کپی رایت. کامنت های آموزنده: مثل کامنتی که فرمت تاریخ و زمان را نشان می دهد. توضیح دادن مقصود: در صورتی که واقعا هدف را بیان کند. شفاف سازی: باز هم اولویت با نوشتن کد شفاف است تا کامنت. هشدار در مورد عواقب: فرض کنید یک متد sleep() داریم که زمان بر است. کامنت در مورد این موضوع می تواند خواننده را آگاه کند. کامنت های To Do: کارهایی که باید انجام شوند اما تا الان انجام نشده اند. تقویت:برای تقویت اهمیت چیزی که ظاهرا مهم به نظر نمی رسد. java doc یا امکانات مشابه در سایر زبان ها کامنت های بد: کامنت های من من کننده کامنت های زاید: کامنت های که خواندنشان بیشتر از خواندن کد وقت می گیرد. کامنت های گمراه کننده کامنت های اجباری کامنت های ژورنالی: کامنت هایی که مثل لاگ در کد ایجاد می شود مثل نام نویسنده یا ویرایشگر و تاریخ. کامنت های نویز: کامنت هایی که هیچ اطلاعاتی نمی دهند: مثل نوشتن کامنت default constructor Position markers: //////////////// که برای جدا سازی استفاده می شود اگر زیاد باشد مثل نویز می شود و هیچ کمکی نمی کند. کامنت های نزدیک کروشه و براکت ها: مثل end while// { که وقتی حلقه خیلی طولانی باشد، جای بسته شدن حلقه ها را نشان می دهد. بهتر است به جای این کار طول توابع کمتر شود تا چایان حلقه ها راحت پیدا شود. کد های comment-out: کد هایی که نوشته شده اند بعد کامنت شده و به حال خود رها شده اند. کامنت های غیر محلی: هر کامنت باید نزدیک کد مربوط به خودش باشد. اطلاعات اضافی و بیش از حد در کامنت Function header ها: بهتر است به جای توضیح کار توابع یک نام خوب که کارش را نشان می دهد، انتخاب کنیم. متدها مواردی که برای نوشتن متدهای تمیز قابل توجه اند: باید کوتاه باشد. برای فهم بهتر در موارد لازم از تو رفتگی استفاده شود. هر تابع باید فقط یک کار انجام دهد و آن را به خوبی انجام دهد. برای اطمینان از اینکه تابع ما فقط یک کار انجام می دهد باید مطمین شویم تمام statement های درون تابع در یک سطح از abstraction هستند. قانون Step down: میخواهیم کدها بصورت یک روایت از بالا به پایین خوانده شوند. تا حد امکان switch-case استفاده نکنیم و آن را در پلی مورفیسم دفن کنیم. چون یک switch حتی با دو case هم طولانی است. برای توابع از اسم های توصیفی استفاده کنید که عملکرد تابع از روی نام آن قابل فهم باشد. تعداد آرگومان های تابع باید تا حد امکان کم باشد. ایده ال ترین حالت بدون آرگومان است و تعداد 3 و بیشتر، آرگومان فقط در موارد خیلی خاص باید استفاده شود. از try/catch ها استفاده کنید. نام های معنادار متغییر ها، توابع و کلاس ها همه نام دارند. نام گذاری درست در فهم کد و تمیز بودن آن بسیار موثر است: از نام هایی که هدفشان معلوم است استفاده کنید. از نام هایی که اطلاعات درست نمی دهند (disinformation) بپرهیزید. بعضی لغات معنای تثبیت شده ای در ذهن دارند. از این لغات برای معانی دیگر استفاده نکنید. برای مثال hp مربوط به پلتفرم unix است. اگر در کد خود وتر (hypotenues) دارید شاید ظاهرا hp نام خوبی برای آن به نظر برسد. اما گمراه کننده است و نباید از آن استفاده کرد. از کلماتی مانند list تنها در کاربرد خودشان استفاده کنید. مثلا اگر گروهی از دانش آموزان دارید که در سیستم بصورت list نیستند متغییرشان را studentList نام گذاری نکنید. studentGroup نام بهتری ست. از کلمات خیلی مشابه برای متغییر های مختلف استفاده نکنید. چون اشتباها به جای یکدیگر در نظر گرفته می شوند: xyzControllerForEfficientHandelingOfSetting xyzControllerForEfficientStorageOfSetting از O و L تک استفاده نکنید چون با 0 و 1 اشتباه گرفته می شوند. تفاوت های معنادار ایجاد کنید. مثلا a1 و a2 هیچ اطلاعاتی به ما نمی دهد (noninformative). تنها می توان فهمید که یک سری هستند. تفاوت بی معنی ایجاد نکنید. در واقع از noise word استفاده نکنید. مثلا ProductData و ProductInfo هیچ تفاوتی ندارند. یا نام گذاری کلاس مشتری به CustomerObject درست نیست. چون Customer به تنهایی اطلاعات را می رساند و Object در ادامه ی آن اضافه است. از نام های قابل تلفظ استفاده کنید. مثلا مخفف genymdhms، که مربوط به تاریخ و سال و ماه و... است، نام خوبی نیست. از نام های قابل جستجو استفاده کنید. مثلا اگر نام متغیر تک حرف باشد، سرچ آن هزار نتیجه دارد و پیدا کردن جواب سخت است. اما MAX_STUDENT به راحتی قابل پیدا کردن است. تک حرف ها بهتر است تنها برای نام متغیرهای local استفاده شوند. از کد کردن بپرهیزید. مثل استفاده از I در ابتدای نام interface ها و یا انتهای Imp در انتهای نام کلاس های پیاده ساز. نام کلاس ها باید یک اسم یا یک عبارت اسمیه باشد. نام متدها باید یک فعل یا یک عبارت فعلیه باشد. بامزگی نکنید. چون نام های بامزه تنها در ذهن افراد درگیر شوخی می مانند. برای هر مفهوم فقط از یک اسم استفاده کنید. مثلا برای گرفتن اطلاعات از get و fetch و retrieve و ... در کلاس های مختلف استفاده نکنید. بعدا از کجا باید بفهمید که کدام متعلق به کدام است و تفاوتشان چیست؟ برای مفاهیم متفاوت از یک اسم استفاده نکنید. از نام های موجود در solution domain استفاده کنید. خوانندگان کد، برنامه نویس هستند و از لغات موجود در علم کامپیوتر مطلعند پس نام هایی مثل jobQueue یا accountVisitor مفهوم را می رساند. کلمات با معنا در نام ها اضافه کنید. فرض کنید متغیر های firstname, lastname, country, state و ... را می بینید. با دیدن این متغیرها می فهمیم که مربوط به آدرس هستند. اما اگر فقط متغیر state را ببینیم چطور؟ آیا متوجه می شویم مربوط به آدرس است؟ می توانیم یک context با معنا به آنها اضافه کنیم که مشخص شود مربوط به آدرس اند. به این شکل: addrFirstname, addrLastname, addrCountry, addrState و ... با این نام گذاری خواننده می فهمد که این متغیرها مربوط به یک مفهوم بزرگترند. اما راه بهتر تعریف کلاس Address است که در این صورت علاوه بر خواننده، کامپایلر هم می فهمد که این متغییر ها به مفهوم بزرگتری وابسته اند. کلمات بی معنا در نام ها اضافه نکنید. مثلا اگر نام پروژه Gas Station Delux است، منطقی نیست قبل از نام همه ی متغیر های برنامه GSD اضافه کنیم چون اطلاعاتی نمی دهد و نام ها را بدون هیچ مزیتی طولانی می کند. منبع: javatime.blog.ir کتاب مورد استفاده : Clean Code: A Handbook of Agile Software Craftsmanship
×
×
  • اضافه کردن...