انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: اصول مهم تو برنامه نویسی یه برنامه بزرگ چیه؟!!  (دفعات بازدید: 7033 بار)

0 کاربر و 5 مهمان درحال مشاهده موضوع.

آفلاین QSBuntu

  • High Sr. Member
  • *
  • ارسال: 613
  • جنسیت : پسر
من برنامه نویسی به معنی چند خط کد زنی رو بلدم (یعنی هیچی بلد نیستم  ;)) این ترم هم درس اصول طراحی نرم افزار داشتیم و استاداین درس مارو با برنامه های تحلیل و طراحی برنامه مثل modelio   آشنا کرد..
 در طول این درس فقط و فقط و فقط فهمیدم که هیچی نمیدونم!!!  به استاد گفتم و استاد هم گفت تنها هدف خودش تو این درس هم همینه که فقط دایره ندانسته های مارو زیاد کنه..و ما بفهمیم که چه چیزهایی نمیدونیم..

اما چیزی که بر من گران آمد(!) این بود که وقتی استاد یه گریزی به اصول برنامه نویسی زد و مثلا گفت که :«باید وابستگی معکوس وجود داشته باشه » من دیگه از اونچیزایی که میدونستم هم دست شستم و برندانستن خود بطور 100 درصدی واقف شدم!!

حالا دوستان عزیز ... هرکس اصولی رو تو نوشتن برنامه با اهمیت بالا میدونه بگه تا لااقل ندونستنام کامل شه!!


خیلی الان نا امیدم و کلا احساس میکنم حتی کد زنی هم بلد نیستم...  الان هم میخوام کمکم شروع کنم برم سراغ qt ... دوستان ابراز نظر بفرمایند!؟؟ خواهشا...
زندگی خواهم کرد... خواهم زیست ... و میجنگم حتی اگر........................

آفلاین QSBuntu

  • High Sr. Member
  • *
  • ارسال: 613
  • جنسیت : پسر
یعنی کسی اینجا نیس که از تجربیاتش تو انجام پروژه های بزرگ بگه؟!!   ](*,) ](*,) :oops:
زندگی خواهم کرد... خواهم زیست ... و میجنگم حتی اگر........................

آفلاین goonooz

  • Jr. Member
  • *
  • ارسال: 40
  • جنسیت : پسر
    • وبلاگ شخصی
البته منم برنامه نویس نیستم
و اومدم بخونم تا اطلاعاتم کامل بشه
ولی دیدم حتی اون اطلاعات ناقص رو هم نداره
گفتم حداقل این اطلاعات ناقصی که دارم رو در اختیار بزارم
کلا" برنامه نویسی دو نوعه از پدر به فرزند و از فرزند به پدر
که باید ببینی با کدوم راحتی
از فرزند به پدر یعنی تا حلقه ها یا شرط ها و ... کامل نشن پدر تموم نشه
ولی در پدر به فرزند
اول برنامه شروع میشه و بعد توسط شرط ها و حلقه ها و... تکمیل میشه
فقط همین رو بلدم
رو به پيشرفت، يعني دگرگوني، رو به تكامل، يعني دگرگوني هاي بسيار.
وينستون چرچيل

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
سلام
فکر کنم بهتر این بود که این سوال در یک انجمن تخصصی برنامه نویسی مطرح میشد!نه اینجا!
البته اینجا هم دوستان دست به کد هستن اما هرچی باشه اونجا آدم هایی بیشتری هستن که کمک کنن...

سایت هم که معرف حضور هست!> barnamenevis.org

من هم رشته شما نیستم و فکر نکنم چندان صحیح باشه که بخوام نظری بدم اما...
خود سوال شمامشکل داره!
شما انتظار داری که بچه ها بیان اینجا به شما اصول طراحی یاد بدن؟
از نظر من نشدنی هست!
شما باید می پرسیدی یه کتاب خوب در این زمینه بهم معرفی کنید!
که فکر کنم یه جواب خوب هم داره >‌ مهندسی نرم افزار - پرسمن!

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
خوب قدم اول اینه که برنامه‌نویسی رو به خوبی یاد بگیرید.
قدم دوم اینه که یاد بگیرید تمیز کد بنویسید. کتاب‌های زیادی در این مورد هست، مثلا: لینک
در این مورد راهنماهایی که برای پروژه‌های بزرگ بازمتن هستند هم به خوبی می‌تونند کمک کنند، برای مثال Style Guideهای گوگل برای مطالعه بسیار خوب هستند: لینک
قدم سوم اینه که کار با یک سیستم سیستم کنترل ورژن رو به خوبی یاد بگیرید. در حال حاضر اکثریت از Git استفاده می‌کنند و کتاب Pro Git می‌تونه شروع خیلی خوبی باشه: لینک.
قدم چهارم یادگیری مباحث مهندسی نرم‌افزار هست. کتاب‌های Software Engineering رو بخونید. برای مثال این کتاب خوبی برای شروع هستش: لینک

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

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
من میگم قدم اول و آخر تجربه هست.
یا حداکثر یک ماه مطالعه میشه اصول اولیهٔ برنامه‌نویسی و یک زبان برنامه‌نویسی رو یاد گرفت.
ولی ۵ یا ۱۰ سال طول می‌کشه تا برنامه‌نویس خوبی بشید. تازه اگه استعداد و خلاقیت کافی رو داشته باشید. برنامه‌نویسی هم مثل ریاضی می‌مونه. قسمت مهمترش به استعداد و خلاقیت بستگی داره (مثل حس ششم) که این قابل آموزش نیست و با خوندن هزار تا کتاب هم نمیشه یاد گرفت.
البته در حین کدنویسی همیشه باید مطالعه هم داشته باشید. ولی اینکه ماه‌ها و سال‌ها فقط مطالعه کنید و بعدش شروع به کدنویسی کنید رو اصلا قبول ندارم. با سیستم دانشگاهی هم موافق نیستم.
« آخرین ویرایش: 02 دی 1392، 09:33 ب‌ظ توسط سعید رسولی »

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام

پرسش شما خیلی کلی هست و بهتر هست اون را جزيی کنید
مثلا در مورد مطالعه و تجربه بستگی به زمینه برنامه نویسی دارد:

مثلا اگر برنامه نویسی در زمینه سخت افزار خب آشکار هست که در اغاز کار شما باید مفاهیم و گیت و تراشه و... آشنا شوید که این ها چه هستند و چطور باید با انها کار کرد اما اگر در زمینه طراحی سایت هست مثلا شما می خواهید برنامه سایت یک دانشگاه را بنویسید خب باید با مفاهیم و ابزار طراحی و تحلیل و برنامه نویسی سایت اشنا شوید باز در برنامه نویسی شبکه تا مفاهیم شبکه را ندانید نمی دانید از کجا باید شروع کرد و.....
« آخرین ویرایش: 03 دی 1392، 12:47 ب‌ظ توسط rahmani »
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین ngc0der

  • Full Member
  • *
  • ارسال: 106
به نظر اگه شما در برنامه نویسی مبتدی هستین بهتره کل مفاهیم مهندسی نرم افزار و ... رو بی خیال بشین و فقط شروع کنین به برنامه نویسی وگرنه توی دریایی از اطلاعات غرق میشین و آخرش اصلا وقت نمی کنین خود برنامه نویسی رو یاد بگیرین!بعد از یه مدتی هم شروع کنین مواردی که دوستان توضیح دادن یاد بگیرین. اگه بخوام به طور خاص به یه اصل مهم در نوشتن برنامه های بزرگ هم اشاره کنم اون اصل استفاده از design pattern ها در نوشتن برنامه ست چون بالاخره میرسین به جایی که مثلا می بینین استفاده از singleton یا factory الزامی هست و بدون استفاده از اونها کدی نوشته میشه که بعدها به سختی قابل فهم و پشتیبانی هست.

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام

در آغاز با مطالعه تحقیق مشورت و پرس و جو با موضوع مورد علاقه اش را در برنامه نویسی برگزیند. منظورم از موضوع مواردی مانند این هاست برنامه نویسی شبکه، طراحی سایت، برنامه نویسی سخت افزار، پردازش تصویر،  Export System , Application, Simulation, Graphic & Animation

سپس با توجه به موضوع مورد علاقه بهترین (متناسب با امکانات و نیازها و.....) ابزار برنامه نویسی را در رایانه نصب کند و به یادگیری زبان برنامه نویسی با مطالعه و کار عملی همزمان بپردازد

همه می دانیم برنامه نویسی مانند دیگر عرصه ها نیاز به تلاش و پشتکار فراوان دارد اما گاهی زود خسته می شویم
در هر برنامه ای ابتدا برنامه اش را با قلم و کاغذ به هر زبانی که راحت تر است (فارسی انگلیسی نموداری یا ....) بنویسد و سپس ان را در رایانه پیاده سازی کند

تلاش کند برنامه اش قابل پشتیبانی، برای دیگران قابل فهم و قابل استفاده چند باره در آینده برای همان برنامه یا دیگر برنامه ها باشد
« آخرین ویرایش: 04 دی 1392، 03:52 ب‌ظ توسط rahmani »
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین nima nekoonam

  • Full Member
  • *
  • ارسال: 117
  • جنسیت : پسر
شما میگید که اصول مهم برنامه نویسی . بعد درباره طراحی صحبت میکنید . از کیس تولز های پوشاننده کل مدل فرایندی صحبت میکنید ... یه جمله ای رو میگید که تا حالا نشنیدم (همون معکوسه) ... وقتی همه ی این ها رو میزارم کنار هم احساس میکنم که شما کل مهندسی نرم افزار رو یکجا میخاید تو این تاپیک ؟ همینطوره ؟

آفلاین امید توانا

  • Hero Member
  • *
  • ارسال: 981
  • جنسیت : پسر
خوب قدم اول اینه که برنامه‌نویسی رو به خوبی یاد بگیرید.
قدم دوم اینه که یاد بگیرید تمیز کد بنویسید. کتاب‌های زیادی در این مورد هست، مثلا: لینک
در این مورد راهنماهایی که برای پروژه‌های بزرگ بازمتن هستند هم به خوبی می‌تونند کمک کنند، برای مثال Style Guideهای گوگل برای مطالعه بسیار خوب هستند: لینک
قدم سوم اینه که کار با یک سیستم سیستم کنترل ورژن رو به خوبی یاد بگیرید. در حال حاضر اکثریت از Git استفاده می‌کنند و کتاب Pro Git می‌تونه شروع خیلی خوبی باشه: لینک.
قدم چهارم یادگیری مباحث مهندسی نرم‌افزار هست. کتاب‌های Software Engineering رو بخونید. برای مثال این کتاب خوبی برای شروع هستش: لینک

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

آفلاین QSBuntu

  • High Sr. Member
  • *
  • ارسال: 613
  • جنسیت : پسر
شما میگید که اصول مهم برنامه نویسی . بعد درباره طراحی صحبت میکنید . از کیس تولز های پوشاننده کل مدل فرایندی صحبت میکنید ... یه جمله ای رو میگید که تا حالا نیدم (همون معکوسه) ... وقتی همه ی این ها رو میزارم کنار هم احساس میکنم که شما کل مهندسی نرم افزار رو یکجا میخاید تو این تاپیک ؟ همینطوره ؟
نه اشتباه برداشت نشه.... من فقط خواستم بگم ک وقتی با این حجم اطلاعاتی ک برای ساخت یه برنامه بزرگ لازمه روبرو میشم ...نمیدونم باید از کجا شروع کنم و و چجوری پیش برم. درسته ک همه ش رویه نفر نباید انجام بده ولی خب باید یه مقداری ازین ها سر در اورد ... و منم میخوام بیشتر از یه کم سر در بیارم و در حدی برسم ک بتونم مدیریت اینکار رو هم انجام بدم...ب قول دوستان در دریایی از ندونستنهام گم شدم و با مشورت دنبال بهترین راه ممکن برای شروع برای خروجم.
زندگی خواهم کرد... خواهم زیست ... و میجنگم حتی اگر........................

آفلاین سید مسعود امامیان

  • Hero Member
  • *
  • ارسال: 951
سلام

کتاب و تجربه باید کنار یکدیگر باشند.
مثال : از دید یک فردی که فقط به تجربه تکیه کرده 2 کد ساده زیر از دید او یکی است یا حداقل بعد از چندسال به نتیجه صحیح می رسد:
for ( j = 0 ; j < 100 ; j++ )
for ( i = 0 ; i < 100 ; i++)
data[i,j] = 0 ;
for ( i = 0 ; i < 100 ; i++ )
for ( j = 0 ; j < 100 ; j++)
data[i,j] = 0 ;

در کد اولی تعداد pageهایی که مصرف می کند 100 * 100 = 10000 است در صورتی که در دومی فقط 100 page را مصرف می کند.

یا مثلاً :
for ( i = 0 ; i < 100 ; i++ )
for ( i = 0 ; i < 100 ; ++i )
حلقه دومی بهینه تر شناخته شده .

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

آفلاین QSBuntu

  • High Sr. Member
  • *
  • ارسال: 613
  • جنسیت : پسر
سلام

کتاب و تجربه باید کنار یکدیگر باشند.
مثال : از دید یک فردی که فقط به تجربه تکیه کرده 2 کد ساده زیر از دید او یکی است یا حداقل بعد از چندسال به نتیجه صحیح می رسد:
for ( j = 0 ; j < 100 ; j++ )
for ( i = 0 ; i < 100 ; i++)
data[i,j] = 0 ;
for ( i = 0 ; i < 100 ; i++ )
for ( j = 0 ; j < 100 ; j++)
data[i,j] = 0 ;

در کد اولی تعداد pageهایی که مصرف می کند 100 * 100 = 10000 است در صورتی که در دومی فقط 100 page را مصرف می کند.

یا مثلاً :
for ( i = 0 ; i < 100 ; i++ )
for ( i = 0 ; i < 100 ; ++i )
حلقه دومی بهینه تر شناخته شده .

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

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

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

آفلاین shahramlp

  • Full Member
  • *
  • ارسال: 110
  • جنسیت : پسر
سلام

کتاب و تجربه باید کنار یکدیگر باشند.
مثال : از دید یک فردی که فقط به تجربه تکیه کرده 2 کد ساده زیر از دید او یکی است یا حداقل بعد از چندسال به نتیجه صحیح می رسد:
for ( j = 0 ; j < 100 ; j++ )
for ( i = 0 ; i < 100 ; i++)
data[i,j] = 0 ;
for ( i = 0 ; i < 100 ; i++ )
for ( j = 0 ; j < 100 ; j++)
data[i,j] = 0 ;

در کد اولی تعداد pageهایی که مصرف می کند 100 * 100 = 10000 است در صورتی که در دومی فقط 100 page را مصرف می کند.

یا مثلاً :
for ( i = 0 ; i < 100 ; i++ )
for ( i = 0 ; i < 100 ; ++i )
حلقه دومی بهینه تر شناخته شده .

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


مشکل حل شد حواسم به خط آخر کد "data[i,j] = 0" که توی هر دو ثابت هست نبود
چقدر بده که این انجمن امکان حذف پست نداره!!! آخه چرا؟؟؟؟؟!!!!!
« آخرین ویرایش: 06 دی 1392، 03:53 ب‌ظ توسط shahramlp »