1 ارسال در این موضوع قرار دارد

کامنت ها

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

کد تغییر می کند و اتفاقات مختلف در آن می افتد. اما کامنت معمولا این تغییرات را همراهی نمی کند. پس کامنت نادقیق خیلی بدتر از نبودن کامنت است.

نکات مورد توجه در مورد کامنت ها:

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

کامنت های خوب:

  • کامنت های مجاز: که قوانین را اعلام می کنند. مثل کپی رایت.
  • کامنت های آموزنده: مثل کامنتی که فرمت تاریخ و زمان را نشان می دهد.
  • توضیح دادن مقصود: در صورتی که واقعا هدف را بیان کند.
  • شفاف سازی: باز هم اولویت با نوشتن کد شفاف است تا کامنت.
  • هشدار در مورد عواقب: فرض کنید یک متد 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 اضافه کنیم چون اطلاعاتی نمی دهد و نام ها را بدون هیچ مزیتی طولانی می کند.

 

منبع: 

لطفا وارد و یا عضو شوید تا بتوانید link را ببینید

کتاب مورد استفاده : 

لطفا وارد و یا عضو شوید تا بتوانید link را ببینید

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط
      در این پست از آی ترفند برای شما آموزش هایی را از سایت lynda آماده کرده ایم که می توانید آن ها را به رایگان دانلود کنید.
       
      برای مشاهده لیست دانلود به لینک زیر بروید:
       

      لطفا وارد و یا عضو شوید تا بتوانید link را ببینید
    • توسط

      لطفا وارد و یا عضو شوید تا بتوانید image را ببینید
      /monthly_2017_08/vip-itarfand.PNG.44e060109967f13058a4ccba97235de2.PNG"> نرم افزار PSpice یک شبیه ساز برای مدارهای الکتریکی می باشد که در رشته مهندسی کامپیوتر و درس مدارهای الکتریکی از آن برای شبیه سازی و تحلیل مدارهای الکتریکی استفاده می شود.
      ابتدا نرم افزار را از
      لطفا وارد و یا عضو شوید تا بتوانید link را ببینید
      دانلود کنید و توسط راهنما آن را کرک کنید. به محل نصب نرم افزار بروید و از پوشه Capture فایل capture.exe را اجرا کنید.

      بعد از باز شدن نرم افزار از سربرگ File و قسمت New گزینه Project را انتخاب کنید.

      برای پروژه خود یک نام انتخاب کنید و سپس حالت آن را بر روی Analog قرار دهید و سپس محل ذخیره آن را مشخص کنید.

      در صفحه باز شده بر روی Create A Blank Project کلیک کنید.

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

      در صفحه باز شده بر روی Add Library کلیک کنید و تمام فایل ها را انتخاب کنید و سپس بر روی Open کلیک کنید و سپس از قسمت Part آیتم دلخواه خود را انتخاب کنید.

      برای وصل کردن دو آیتم به هم (سیم) گزینه مشخص شده در عکس زیر را انتخاب کنید.

       
    • توسط

      لطفا وارد و یا عضو شوید تا بتوانید image را ببینید
      /monthly_2017_08/vip-itarfand.PNG.44e060109967f13058a4ccba97235de2.PNG" alt="vip-itarfand.PNG"> نرم افزار modelsim یک شبیه ساز زبان های توصیف سخت افزاری می باشد که در رشته مهندسی کامپیوتر و درس مدارهای منطقی از آن برای شبیه سازی مدارها به زبان verilog استفاده می شود.
      برای ایجاد و کار با این نرم افزار این پست از انجمن آی ترفند را دنبال کنید.
      ابتدا نرم افزار را از
      لطفا وارد و یا عضو شوید تا بتوانید link را ببینید
      دانلود کنید و طبق راهنمایی داخل آن ، نرم افزار را کرک کنید. بعد از باز کردن نرم افزار برای ایجاد پروژه جدید از سربرگ File و قسمت New گزینه Project را انتخاب کنید.

      در صفحه باز شده یک نام برای پروژه خود قرار دهید.

      سپس بر روی Create New File کلیک کنید.

      در صفحه باز شده یک نام برای فایل خود قرار دهید و نوع آن را بر روی Verilog قرا دهید.

      اکنون می توانید کدهای خود را مانند عکس زیر بنویسید.

      بعد از نوشتن کدها برای کامپایل کردن فایل بر روی آن راست کلیک کنید و از قسمت Compile گزینه Compile Selected را انتخاب کنید.

      برای تست کدهای خود مانند عکس بالا در قسمت مشخص شده راست کلیک کنید از قسمت Add To Project گزینه File را انتخاب کنید و نوع آن را نیز به Verilog تغییر دهید.

      برای دیدن خروجی کدهای خود بعد از اطمینان از ذخیره شدن فایل ها در هارد با Ctrl+S از سربرگ Simulate گزینه Start Simulation را انتخاب کنید.

      در صفحه باز شده از قسمت Work فایل تست خود را انتخاب کنید و بر روی ok کلیک کنید.

      اکنون با صفحه زیر روبرو می شوید.

      بر روی قسمت مشخص شده راست کلیک کنید و مانند عکس عمل کنید.

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

       
    • توسط

      لطفا وارد و یا عضو شوید تا بتوانید image را ببینید
      /monthly_2017_08/vip-itarfand.PNG.44e060109967f13058a4ccba97235de2.PNG"> در این پست از انجمن آی ترفند مفید ترین منابع و سایت های کاربردی در زمینه برنامه نویسی و امنیت معرفی می شود.
       
       
       
       
       
       
       
       
       
       
       
    • توسط

      لطفا وارد و یا عضو شوید تا بتوانید image را ببینید
      /monthly_2017_08/vip-itarfand.PNG.44e060109967f13058a4ccba97235de2.PNG" alt="vip-itarfand.PNG"> در این پست از انجمن آی ترفند طراحی صفحه های سایت به زبان css آموزش داده می شود.
      پیش نیاز این آموزش تسلط به زبان html می باشد:

      از پرسیدن سوال در این تاپیک خودداری کنید.