اطلاعیه

Collapse
No announcement yet.

روش های اصولی و صحیح در نوشتن کتابخانه

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

    سلام به دوستان


    تمام مطالبی دوستان را خواندم. بسیار خوشحال شدم مدتی بود که کتابخانه نویسی ذهنم را درگیر کرده بود.
    یک پیشنهاد کوچک

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

    برای مثال چیزی شبیه به "کدویزارد کدوژن" با این تفاوت که کابر می تواند نوع میکرو و کامپایلر را انتخاب کند.سپس امکاناتی که می خواهد با کلیک انتخاب می کند.اپلیکشن با توجه به تنظیمات کاربر از میان کتابخانه ها و کد ها بهترین کتابخانه و کد را انتخاب می کند و درصورت نیاز کتابخانه را نیز مقدار دهی می کند و در خروجی یک فولدر شامل فایل های با پسوند .h و یک فایل با پسوند .c یا .ccp که کدهای تنظیمات اولیه سخت افزار است تولبد کند.

    ساخت این اپلیکش چند حسن دارد.

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


    همچنین پشنهاد می شود اپلیکشن دارای دو بخش باشد.پخش اول استخراج کد و کتابخانه و بخش دوم وارد کردن کد ، کتابخانه و توضیحات.برای مثال در کنار هر امکان یک دکمه قرار داده شود که با کلیک بر روی آن کد و کتابخانه نمایش داده شوند تا کاربر بتواند آنها را ویرایش کند.کد و کتابخانه های ویرایش شده در محلی ذخیره شوند تا کابر بتواند به آنها رجوع کند.

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

    پیشنهاد می شود سه گروه کاری تشکیل شود

    گروه اول نگارش و توسعه اپلیکشن را بر عهده گیرند
    گروه دوم نگارش و توسعه کتابخانه ها را بر عهده گیرند
    گروه سوم نکارش و توسعه کد اولیه ، مثال ها و راهنمای کاربری را بر عهده گیرند

    پ . ن: هرچند این عمل بسیار گسترده بنظر می رسد ولی فراموش نکنید که توسط هزاران نفر انجام خواهد شود.



    دیدگاه


      #17
      پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

      سلام.
      علی جان خیلی ممنون بابت وقتی که گذاشتید و پیشنهاداتی که مطرح کردید.

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

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

      موفق باشید.
      شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
      هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
      چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

      دیدگاه


        #18
        پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

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

        دیدگاه


          #19
          پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

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

          دیدگاه


            #20
            پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

            سلام به همه دوستان :smile:
            راستش من هم اول فکر کردم این تاپیک آموزش روش ایجاد هدر فایل با پسوند .h و.c و .Lib باشه ولی بعد از خوندنش دیدم زدند به جاده خاکی!!! oo:
            ممنون میشم اگر از دوستان کمی در مورد روش ایجاد هدر فایل های.h و .c و بویژه .Lib توضیح بدند :agree:
            حاصلظرب توان در ادعا مقداری ثابت است.هرچه توان انسان کمتر باشد ادعای او بیشتر است و هرچه توان انسان بیشتر شود ادعایش کمتر میگردد.(دکتر حسابی)

            دیدگاه


              #21
              پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

              دوستان دیگه قصد ادامه دادن این اموزش رو ندارید؟ :sad:
              خیلی جالب و مفید هستش...جای دیگه داخل انجمن هم در موردش بحث نشده...
              اگه بشه آموزش ها رو ادامه بدید که خیلی خوب میشه
              از قبل سپاسگزارم...
              تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

              www.intelart.ir


              ساخت کنترلر دما PID فازي با AVR [آموزشی]

              دیدگاه


                #22
                پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

                بسیار عالی بود فقط اگه ممکنه ادامه بدید

                دیدگاه


                  #23
                  پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

                  سلام،
                  آموزش ساخت کتابخانه استاندارد زبان C



                  http://**************/showthread.php?654-%D8%A7%D8%B5%D9%88%D9%84-%D8%B3%D8%A7%D8%AE%D8%AA-%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-%D8%A7%D8%B3%D8%AA%D8%A7%D9%86%D8%AF%D8%A7%D8%B1%D 8%AF-%D8%B2%D8%A8%D8%A7%D9%86-c

                  دیدگاه


                    #24
                    پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

                    سلام،
                    آموزش ساخت کتابخانه استاندارد زبان
                    میشه این لینک رو خصوصی بای من بفرستید ؟ ظاهرا" سایت به آدرس دادن حساسیت داره

                    دیدگاه


                      #25
                      پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

                      جای ستاره از دامین همون دستمون که زیر عکسش هست(کره زمین) استفاده کن.

                      دیدگاه


                        #26
                        پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

                        برای بقیه دوستان :
                        w w w. n t a c o . i r /show و به قول سرهنگ علی فر بقیه ماجرا !
                        با فاصله نوشتم که حذف نشن. شما فاصله نذارید
                        مرسی دوست من

                        دیدگاه


                          #27
                          پاسخ : روش های اصولی و صحیح در نوشتن کتابخانه

                          سلام
                          دوستان متغییر int هشت بیتی سراغ دارن تو کدویژن؟ من تو راهنماش که نگاه میکردم 16 بیت به بالا بودن همشون



                          راستی یه سوال، چطور میشه یه متغییر به تعداد بیت 8 درست کرد؟ راهی وجود داره یا باید از enum استفاده کنم؟ و این که اگه به صورت زیر یه نوع متغییر تعریف کنم چقدر حافظه میگیره این نوه متغییر؟ آیا به ااندازه 8 بیت حافظه میگیره؟ - تو آردوینو میشکلی ندارم و متغییر 8 بیتی هستش ولی تو این کدویژن نه همچین متغییری وجود نداره
                          [code=c]enum int8bit{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1 7,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33, 34,35,36,37,
                          38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54 ,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,7 1,72,
                          73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89 ,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104 ,105,
                          106,107,108,109,110,111,112,113,114,115,116,117,11 8,119,120,121,122,123,124,125,126,127,128,129,130, 131,
                          132,133,134,135,136,137,138,139,140,141,142,143,14 4,145,146,147,148,149,150,151,152,153,154,155,156, 157,
                          158,159,160,161,162,163,164,165,166,167,168,169,17 0,171,172,173,174,175,176,177,178,179,180,181,182, 183,
                          184,185,186,187,188,189,190,191,192,193,194,195,19 6,197,198,199,200,201,202,203,204,205,206,207,208, 209,
                          210,211,212,213,214,215,216,217,218,219,220,221,22 2,223,224,225,226,227,228,229,230,231,232,233,234, 235,
                          236,237,238,239,240,241,242,243,244,245,246,247,24 8,249,250,251,252,253,254,255};[/code]




                          راستی من بخوام کتابخونم رو هم برا آردوینو باشه و هم برا کدوِزن باید چیکار کنم؟ مثلا همین متغییر ها رو، چون اسم متغییر در آردوینو و کدویژن با هم فرق داره، میشه یه دستور شرطی با اسمبلی تعریف کرد که اگه طرف کامپیایلرش این بود از این متغییر استفاده کن و اگه اون بود... ؟؟
                          میدونم که باید با typedef نام متغییر رو تغییر بدم، چون ممکنه این متغییر 8 بیتی که من میخوام استفاده کنم تو آردوینو byte باشه اسمش و مثلا تو کدوِیژن uint باشه، مشکل من اینه که چطور بیام بگم اگه کدویژن بود بیا این کار رو کن و اگه آردوینو بود بیا اون کار رو کن
                          [code=c]#ifdef Codvision
                          typedef my8BitInt uint
                          #elifdef Arduino
                          typedef my8BitInt byte
                          #endif[/code]
                          اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                          اگه دوس دارید سریع به جواب برسید :
                          1) قبل از پرسیدن سوال، بسرچید.
                          2) سوالاتون رو با جزئیات کامل مطرح کنید.

                          دیدگاه

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