ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









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





  1. #1
    تاریخ عضویت
    2009/10/21
    تهران
    2,541
    251

    چطور کد میزنید؟

    سلام. تقرییا همه ما بصورت تجربی و بدون آموزش خاصی (مخصوصا آکادمیک) برنامه نویسی رو یاد گرفتیم. هنوز تو دانشگاههای ما به زحمت C رو یاد میدن و کمتر استادی داریم که از برنامه نویسی کاربردی پیزی بدونه! (نمیدونم چقدر این حرفم صحت داره ولی تجربه من از دانشگاه اینطوریه)
    اگر امکان داره تجربیات و استایل برنامه نویسی خودتون رو بیان کنید
    بعنوان مثال من مدتها طول کشید تا متوجه بشم مواردی مثل نامگداری صحیح متغیرها و توابع یا ارور گیری صحیح از کدها و خروجیهای توابع داشته باشم و فکر نکنم همه چیز اونطوری پیش میره که ما میخوایم ، یا اینکه سعی کنم کمترین کار رو بعهده کاربر بگذارم چون مخصوصا در خطوط تولید عموما کارگران دانش خوبی نسبت به استفاده از نرم افزار ندارند و ...
    بعنوان سوال اول
    نحوه کدنویسی برای سیستم مالتی تسک نوعی
    مثلا برنامه ای که چند دکمه یا ورودی داره. با زدن هر دکمه یکسری عملیات باید انجام بشه که بسیار زمانبره (فرض کنید کار مورد نظر یک باتن حدود چند دقیقه طول میکشه) و تو این مدت باید دکمه های دیگه هم خدمت رسانی بشن اگر که فشردع شدن.
    شما چطور این عملیات رو تقسیم بندی میکنید و برای این سیستم کد میزنید.
    من یک صف از کارهایی که پردازنده باید انجام بده تشکیل میدم. یک صف ساده شامل کد کاری که باید انجام بشه و زمان انجام اون کار،
    در روال تایمر صف رو چک میکنم. هر تسکی که زمان انجامش رسیده باشه انجام داده میشه و ...
    ویرایش توسط mojalan : 2019/04/30 در ساعت 19:34
  2. #2
    تاریخ عضویت
    2019/06/10
    10
    14

    پاسخ : چطور کد میزنید؟

    سلام . بحث کیفیت کد یا خوانایی کد و کدی که اصطلاحا قابل نگهداری باشه بحث گسترده ایه که معروفترین کتاب تو این زمینه کتاب clean code یا کدنویسی تمیز نوشته مارتین فاولر هست مباحث مختلفی رو شامل میشه از جمله بحث نامگذاری متغیرها توابع فایل ها کلاس ها و ... و البته روش های کد ریفکتورینگ یا بهبود عملکرد و خوانایی کد بدون تغییر عملکرد اون . اگر شد یه تاپیک جدا درباره کدنویسی تمیز باز شه تا عمیق تر اونو بررسی کنیم
    در مورد سوال دومم اگه درست متوجه شد باشم باید هر تسک تو یه ترد جدا قرار بدین حالا اگه وظایف تردها مستقل از هم بودن که پردازنده اونا رو بصورت همروند انجام میده اما اگر وظایف به هم وابسته بودن بحث برنامه نویسی ناهمزمان بوجو د میاد ....
  3. #3
    تاریخ عضویت
    2014/07/20
    البـــرز - کـــرج - گوهـــردشت
    865
    277

    پاسخ : چطور کد میزنید؟

    نقل قول نوشته اصلی توسط mojalan

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام. تقرییا همه ما بصورت تجربی و بدون آموزش خاصی (مخصوصا آکادمیک) برنامه نویسی رو یاد گرفتیم. هنوز تو دانشگاههای ما به زحمت C رو یاد میدن و کمتر استادی داریم که از برنامه نویسی کاربردی پیزی بدونه! (نمیدونم چقدر این حرفم صحت داره ولی تجربه من از دانشگاه اینطوریه)
    اگر امکان داره تجربیات و استایل برنامه نویسی خودتون رو بیان کنید
    بعنوان مثال من مدتها طول کشید تا متوجه بشم مواردی مثل نامگداری صحیح متغیرها و توابع یا ارور گیری صحیح از کدها و خروجیهای توابع داشته باشم و فکر نکنم همه چیز اونطوری پیش میره که ما میخوایم ، یا اینکه سعی کنم کمترین کار رو بعهده کاربر بگذارم چون مخصوصا در خطوط تولید عموما کارگران دانش خوبی نسبت به استفاده از نرم افزار ندارند و ...
    بعنوان سوال اول
    نحوه کدنویسی برای سیستم مالتی تسک نوعی
    مثلا برنامه ای که چند دکمه یا ورودی داره. با زدن هر دکمه یکسری عملیات باید انجام بشه که بسیار زمانبره (فرض کنید کار مورد نظر یک باتن حدود چند دقیقه طول میکشه) و تو این مدت باید دکمه های دیگه هم خدمت رسانی بشن اگر که فشردع شدن.
    شما چطور این عملیات رو تقسیم بندی میکنید و برای این سیستم کد میزنید.
    من یک صف از کارهایی که پردازنده باید انجام بده تشکیل میدم. یک صف ساده شامل کد کاری که باید انجام بشه و زمان انجام اون کار،
    در روال تایمر صف رو چک میکنم. هر تسکی که زمان انجامش رسیده باشه انجام داده میشه و ...
    سلام
    روش شما به نظر درست میاد. ایجاد یک صف از task ها و سرکشی و رسیدگی منظم به اون ها باعث میشه سیستم تقریباً Real-time باشه. من خودم هم با ایجاد یک loop و سیستم polling همه ی task ها رو مدیریت می کنم. بعد ها در میکروکنترلر های مبتنی بر arm به مفهومی بر خوردم به اسم RTOS که دقیقا همین کار رو به صورت ماژولار و سخت افزاری انجام میده و با سخت افزار مدیریت و کنترل میشه. البته به دلیل محدودیت های خاص که تو کار مشخص میشه، من همچنان از روش خودم پیروی می کنم تا انعطاف بیشتری نسبت به RTOS داشته باشم. در ادامه...
    >>>>>

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    <<<<<
    *** يا راهي خواهم يافت، يا راهي خواهم ساخت ... ***
  4. #4
    تاریخ عضویت
    2012/12/30
    بوشهر
    3,216
    1,171

    پاسخ : چطور کد میزنید؟

    نقل قول نوشته اصلی توسط mojalan

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام. تقرییا همه ما بصورت تجربی و بدون آموزش خاصی (مخصوصا آکادمیک) برنامه نویسی رو یاد گرفتیم. هنوز تو دانشگاههای ما به زحمت C رو یاد میدن و کمتر استادی داریم که از برنامه نویسی کاربردی پیزی بدونه! (نمیدونم چقدر این حرفم صحت داره ولی تجربه من از دانشگاه اینطوریه)
    اگر امکان داره تجربیات و استایل برنامه نویسی خودتون رو بیان کنید
    بعنوان مثال من مدتها طول کشید تا متوجه بشم مواردی مثل نامگداری صحیح متغیرها و توابع یا ارور گیری صحیح از کدها و خروجیهای توابع داشته باشم و فکر نکنم همه چیز اونطوری پیش میره که ما میخوایم ، یا اینکه سعی کنم کمترین کار رو بعهده کاربر بگذارم چون مخصوصا در خطوط تولید عموما کارگران دانش خوبی نسبت به استفاده از نرم افزار ندارند و ...
    حقیقتا من هنوز کدنویس خوب ایرانی ندیدم. خود من هم کدنویس خوبی نیستم. برای کدنویسی واقعا باید پروژه های زیادی رو انجام بدی. حرف استاد دانشگاه و این افراد رو نزن که حالم از جامعه شون بهم می خوره. بعضی هاشون واقعا به مفت خوری و مزخرف گفتن عادت کردن. به من هم الکی پول بدن و ازم کاری نخوان ممکنه مثل اینا بشم.
    نقل قول نوشته اصلی توسط mojalan

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

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

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  5. #5
    تاریخ عضویت
    2017/12/26
    178
    99

    پاسخ : چطور کد میزنید؟

    نقل قول نوشته اصلی توسط mojalan

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام. تقرییا همه ما بصورت تجربی و بدون آموزش خاصی (مخصوصا آکادمیک) برنامه نویسی رو یاد گرفتیم. هنوز تو دانشگاههای ما به زحمت C رو یاد میدن و کمتر استادی داریم که از برنامه نویسی کاربردی پیزی بدونه! (نمیدونم چقدر این حرفم صحت داره ولی تجربه من از دانشگاه اینطوریه)
    اگر امکان داره تجربیات و استایل برنامه نویسی خودتون رو بیان کنید
    بعنوان مثال من مدتها طول کشید تا متوجه بشم مواردی مثل نامگداری صحیح متغیرها و توابع یا ارور گیری صحیح از کدها و خروجیهای توابع داشته باشم و فکر نکنم همه چیز اونطوری پیش میره که ما میخوایم ، یا اینکه سعی کنم کمترین کار رو بعهده کاربر بگذارم چون مخصوصا در خطوط تولید عموما کارگران دانش خوبی نسبت به استفاده از نرم افزار ندارند و ...
    بعنوان سوال اول
    نحوه کدنویسی برای سیستم مالتی تسک نوعی
    مثلا برنامه ای که چند دکمه یا ورودی داره. با زدن هر دکمه یکسری عملیات باید انجام بشه که بسیار زمانبره (فرض کنید کار مورد نظر یک باتن حدود چند دقیقه طول میکشه) و تو این مدت باید دکمه های دیگه هم خدمت رسانی بشن اگر که فشردع شدن.
    شما چطور این عملیات رو تقسیم بندی میکنید و برای این سیستم کد میزنید.
    من یک صف از کارهایی که پردازنده باید انجام بده تشکیل میدم. یک صف ساده شامل کد کاری که باید انجام بشه و زمان انجام اون کار،
    در روال تایمر صف رو چک میکنم. هر تسکی که زمان انجامش رسیده باشه انجام داده میشه و ...
    با سلام
    پیشنهاد می کنم سایت Udacity را نگاه کنید، من خودم کد نویسی استاندارد و درست را اولین بار از این سایت یاد گرفتم، دوره های زیادی داره که گوگل و ماکروسافت برگذار می کنند ممکنه به کارتون بیاد.
    موفق باشید
  6. #6
    تاریخ عضویت
    2014/05/29
    قدس
    1,229
    132

    پاسخ : چطور کد میزنید؟

    نمیدونم درست متوجه سوال شما شدم یا نه ولی یه توضیحکی میدم.

    1.1-مهمترین مورد به نظرم منظم نوشتن کد ها هستش و رعایت فاصله ها.

    1.2) سند سازی از توابع و کتابخونه ها - چیزی که ندیدم کسی رعایت کنه - خودم هم که هیچی - تعطیل - یه چی هست به اسم doxygen - خودم هم تازه باهاش آشنا شدم - سندسازی از پروژه

    2-معمولا کد پروژه وقتی از یه حدی بیشتر میشه، مشکل*زدایی اصلاحش داستان میشه.
    برا حل این مورد من هر چیزی رو تابع تابع میکنم و توابع رو کتابخونه.
    از 0 و 1 کردن پایه های میکروبگیر تا راه اندازی پریفرال های میکرو ها و.. - الان که دارم با اتمل استودیو کار میکنم - میبینم که شرکت میکروچیپ برا داستان Atmel START ( یه چی مث کدویزارد کدویژن - یکمممم بهتر ) تو پروژه هایی از این نوع، فایل PORT اش به صورت زیره - برا set کردن پایه های پورت A هم تابع نوشته - خوبی این مدل کدنویسی اینه که با تغییر IDE مشکلات کمتر و سریعتر میتونید کد رو تبدیل کنید - و یا حتی طوری کد بزنید که IDE رو تشخیص بده و طبق MACRO هایی که تعریف کردید از توابع و نام رجیسترهای مناسب با اون IDE استفاده کنه.
    کد:
    static inline void PORTA_set_pin_dir(const uint8_t pin, const enum port_dir dir)
    static inline void PORTA_set_port_level(const uint8_t mask, const bool level)
    بررا بحث اون چیزی هم که گفتید - خب یه تایمر انتخاب کردم - یه کتابخونه براش نوشتم که تو موقع ایجاد شیء ازش یا موقع INIT کردنش - تعیین میکنی که از چه تایمری میخوای استفاده کنی و فلان - یه سری تابع هم تعریف میکنی برا BTN های مختلف - از تابع تایمر در توابع فوق استفاده میکنی - به تعداد BTN ها شما تابع داری.
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.
  7. #7
    تاریخ عضویت
    2021/10/04
    1
    0

    پاسخ : چطور کد میزنید؟

    سلام خسته نباشید من یه کد ساده میخام جهت رو.شن کردن یه بازر با زبان Cدر کامپایلرkeil فقط اگه اون دوخط کد رو بهم بگین ممنون میشم جون هیج جا پیداش نمیکنم
نمایش نتایج: از 1 به 7 از 7

موضوعات مشابه

  1. پاسخ: 13
    آخرين نوشته: 2015/03/17, 09:46
  2. چطور GAL را بخوانیم؟
    توسط S.R.F در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 0
    آخرين نوشته: 2013/08/14, 19:30
  3. چطور این فایل را پاک کنم؟
    توسط عباس جبراییلی در انجمن كامپيوتر ، اينترنت و علوم مرتبط
    پاسخ: 18
    آخرين نوشته: 2012/01/28, 20:58
  4. چطور با Webzip کار کنم؟
    توسط ask110 در انجمن نرم افزار
    پاسخ: 0
    آخرين نوشته: 2011/04/12, 16:43
  5. رله رو چطور حذف کنم
    توسط gbg در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2007/06/23, 20:53

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •