نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه

آموزش صحیح و خوانا نوشتن کد میکروکنترلرها-2

آموزش صحیح و خوانا نوشتن کد میکروکنترلرها-2

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

خوب کد زیر رو ببینید :

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

ببینید یک مثال می زنم. مثلا کد زیر رو ببینید :

برنامه بالا نوشته شده برای بررسی یک مقدار یک متغیر. شده 10 خط. خوب این برنامه اشکال داره. چون وقت اجرا هر 10 تا خط اجرا میشه ولی ما میدونیم که اگر یکی برقرار باشه، بقیه برقرار نیستن. پس اینجا برنامه خواناست اما غیرحرفه ای. دو تا ره داریم. یکی اینه که از ترکیب if … esle… استفاده کنیم و یکی دیگه استفاده از switch هستش. اینجا دیگه سلیقه ای هستش. اما خود من switch  رو ترجیح میدم. چون وقت خوندن کد توسط دیگری، بهتر مفهوم انتقال داده میشه.
یا مثلا وقتی که تنطیمات مربوط به قسمت هایی از میکرو رو انجام میدید، کد مربوطش رو بنویسید هر چند برای خودتون خیلی ساده باشه. مثلا تنظیم وقفه یک توی ATmega32.
اون کامنت هایی که بالا نوشته شده، چیزی نیست برای نویسنده، اما برای خواننده کلیه. چون دیگه نمی خواد بره سراغ رجیستری ATmega32 . تازه خود نویسنده هم اگر بعد از مدتی بیاد سراغ کدش، گیج نمیشه.

تو قسمتای بعدی بیشتر توضیح خواهم داد ..

پسورد فایل های سایت :
www.dmf313.ir
من دريافته ام كه ايده هاي بزرگ هنگامي به ذهن راه مي يابند كه اراده كنيم چنين ايده هايي را داشته باشيم. چارلي چاپلين
ارسال دیدگاه
13

1) تعداد حروف فارسی از حروف غیر فارسی بیشتر باشه دیدگاه جفنگ/اسپم محسوب میشه.

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. مهمان

    ازمایشگاه خانگی

    سلام.
    ببخشید من یه کد نوشتم که اگه یک کلید فشرده شد یک ال ای دی روشن شه پول اپ گذاشتم ولی وقتی که کلید فشرده میشه ال ای دی روشن نمیشه دیگه عمل نمی کنه؟
    کدها
    file:///C:/Users/ALIREZA/Downloads/Desktop/Capture7.PNG
    شماتیک
    file:///C:/Users/ALIREZA/Downloads/Desktop/Capture77.PNG
    smile smile smile

    1396/03/21
    09:11
  2. مهمان

    HOJJAT

    سلام.اموزش خلاصه و خوبی بود…کی ادامش رو میذارید؟؟؟

    1395/02/02
    11:36
  3. مهمان

    sama

    برنامه ای که گفتم اینه laugh laugh laugh
    void sendtext(char *k)
    char andis
    andis=0;
    while(k[andis]!=0)
    این *K ینی چی؟؟

    1395/01/23
    10:02
  4. مهمان

    sama

    سلاااام یه سوال دارم من یه خط از یه برنامه ایو متوجه نمیشم مییشه کمک کنی؟!

    1395/01/23
    10:01
  5. مهمان

    majid

    سلام
    ممنون مطلب خوب و جدیدی بود
    اقا محسن دیگه ادامه نمیدن این مطلبو؟

    1394/11/22
    01:03
  6. مهمان

    علی قاضی

    این PWM نیست که تو 0 و 1 میکنی پایه رووووووووووووووووووووووو

    1393/07/14
    08:57
    • مدیر سایت

      مهدی دمرچیلو

      اگه شک داری :
      1) http://www.eca.ir/forum2/index.php?board=161.0
      2) کتاب جابر الوندی.
      victory

      1393/07/14
      09:00
      • مدیر سایت

        مهدی دمرچیلو

        با 0 و 1 کردن چپ یا راست چرخیدن موتور رو تعیین میکنیم.

        1393/07/14
        09:00
  7. مهمان

    علی قاضی

    داداش این PWMM است؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ no

    1393/07/14
    08:38
    • مدیر سایت

      مهدی دمرچیلو

      آره فک کنم…
      اگه شک داری>>>کد های پروژه رو با کتاب جابر الوندی مقایسه کن…شاید اشتباه کرده باشم(که بعید میدونم) good

      1393/07/14
      08:45
  8. مهمان

    علی قاضی

    کدت کار نمی کنه good

    1393/07/14
    08:06
  9. مهمان

    mas

    خیلی جالب بود! ممنون!

    1393/07/09
    09:10