PDA

View Full Version : کنار هم گذاشتن کدهای پروژه !



Developer Programmer
سه شنبه 06 فروردین 1387, 15:37 عصر
مدتیه این سئوال واسم پیش اومده که بهترین و جامع ترین روش برای تولید پروژه نهایی در زمانی که اعضای تیم برنامه نویسی، هرکدوم جداگانه کد تولید میکنند و از متغیرها و فرمهای دلخواه خود استفاده میکنن...چیه ؟
تیم های برنامه نویسی دنیا، چیکار میکنن ؟

whitehat
سه شنبه 06 فروردین 1387, 16:40 عصر
استفاده از استاندارهای مناسب و توجیه تیم پروژه و استفاده از ابزارهای مدیریت منابع (مستندات و Artifactها) مانند MS Source Safe و ...
سعی کنید ابتدا یک استاندارد مشخص برای نامگذاری Object ها درست کنید و آنرا در قالب یک مستند به تیم پروژه بدهید. برای این کار می توانید از Notation هایی که خود می سازید بر اساس Notation مجارستانی استفاده کنید
در کل اگر دوستان در این بحث شرکت کنند بحث جالبی خواهد شد

2nd-Cup
چهارشنبه 07 فروردین 1387, 07:49 صبح
قبل از اینکه به صحبتهایی در مورد سی وی اس ! برسیم ::
این ها رو گوگل کنید
software architecture design document
software design specification
و جزییات محتوایی هرکدوم رو بررسی کنید.
موفق باشید

SYNDROME
چهارشنبه 07 فروردین 1387, 09:04 صبح
قبل از روی کد نویسی باید از استانداردی استفاده شود که نام فرمها ، متغییر ها ، جداول و . . . همنام هم نشوند.
مثلا هر کد نویس با استفاده از یک کلمه به خصوص خود را از بقیه مجزا کند.
مانند Abc_From .سه حرف فوق را در ابتدای همه مورد فوق قرار دهد تا خود را از بقیه مجزا کند.
نام توابع که در همه فرمها مورد استفاده قرار می گیرد مشخص شود تا همه با یک نام خود را تعریف کنند.
موفق باشید

Developer Programmer
چهارشنبه 07 فروردین 1387, 10:22 صبح
قبل از روی کد نویسی باید از استانداردی استفاده شود که نام فرمها ، متغییر ها ، جداول و . . . همنام هم نشون
خوب، بعد از این مرحله چیکار کنیم؟ چه نرم افزارهایی پروژه رو کنار هم می چینن ؟

Elham_gh
چهارشنبه 07 فروردین 1387, 11:15 صبح
خوب، بعد از این مرحله چیکار کنیم؟ چه نرم افزارهایی پروژه رو کنار هم می چینن ؟

whitehat که جواب دادن-نرم افزارهایی مثل MS SOURCE SAFE

SYNDROME
چهارشنبه 07 فروردین 1387, 17:12 عصر
خوب، بعد از این مرحله چیکار کنیم؟ چه نرم افزارهایی پروژه رو کنار هم می چینن ؟
بعد از اینکه پروژه افراد به تنهایی کار کرد کدهای نوشته شده در یک سیستم کنار هم گذاشته می شود تا یک برنامه یکپارچه ایجاد شود که می تواند شامل یک Exe و یا یک سری از dll ها باشد.
موفق باشید

vcldeveloper
پنج شنبه 08 فروردین 1387, 03:48 صبح
به نظر من پروژه هایی که به صورت تیمی انجام می گیرن ابتدا Artifact های RUP و یا MSF (ویا هر متدولوژی که باشه، من RUP رو توضیح میدم) اون رو برای مرحله Implementation طراحی و مستند می کنند. که این Artifact ها عبارتند از Usecase ها و Actorها و ارتباط بینشون که در مرحله Requirements تولید میشه و بعد Key Abstractions که منجر به تولید Star Diagram پایگاه داده می شه و User Experience مدل و Analysis مدل که اولی شامل فعالیت های Identify the Participating Screens و Model the Screen Flows
و Define the Screen Navigation Paths و Reconcile the Use-Case Storyboards و Document Usability Requirements میشه و دومی شامل فعالیت های Identify the Participating Analysis Classes و Model the Use-Case Flows و Describe the Analysis Classes و ... میشه.
اینایی که گفتید، ربطی به سوال کاربر هم داشت؟!


لزومی نداره کسی سبکی (یا برای کد نویسی و یا برای نامگذاری) اختراع کنه بلکه همه توابع و Screen Form ها و Input Form ها در مرحله آنالیز طراجی می شن.
پس اگر من در پروژه خودم یک کنترل Label ایجاد کنم و اسمش را بزارم Hassan، سایر برنامه نویسان که دارن کد من رو می خونند، یا باید به امکانات IDE وابسته باشند که وقتی موس روی یک متغیر خاص قرار میگیره، نوع آن را در یک Tooltip نمایش میده، یا به دیاگرام مربوط به کلاسی که Hassan توش تعریف شده، رجوع کنند!
فکر نمی کنید، اگر من و گروه من همگی با هم قرار میزاشتیم که بجای همچین اسمی، یک پیشوند خاص بهش اضافه کنیم (مثلا lblHassan)، کار همه مون راحتتر میشد؟
برای Comment سورس کد چطور؟ تمام برنامه هایی که Comment را بصورت خودکار از سورس ها استخراج می کنند و از آن فایل Help میسازند، نیاز دارند که همه برنامه نویس ها برای Comment های خود الگوی یکسانی را رعایت کنند.
برای Indentation چطور؟ اگر کسی هوس کرد کل یک کد را بدون Indentation بنویسه، باید بهش اجازه داد، یا باید قوانین برای گروه آماده کرد که کل گروه در هنگام کدنویسی از آن پیروی کنند؟


برای یکسان سازی کد ها هم دوستمون فرمودن که از Source safe استفاده میشه.
یکسان سازی کد دیگه چیه؟! Source Safe یک ابزار کنترل سورس هست.


ولی مشکل من اینجاست که چرا بسیاری از شرکت های ایرانی از این استانداردها پیروی نمی کنند؟


این سوال ربطی به این تاپیک نداره.

در هر حال، جواب دوستمون که سوال کردن، استفاده از یک نرم افزار کنترل سورس هست که بتونه یک مخزن برای کدها فراهم کنه و از طرفی به کاربران اجازه بده به سورس ها مورد نیازشون دسترسی داشته باشند و در صورت لزوم آنها را تغییر بدند. البته این نرم افزار باید بتونه تمامی تغییرات کاربران رو ثبت کنه تا در صورت لزوم امکان برگشت اونها باشه. یکی از این نرم افزارها Source Safe هست. یکی دیگه که قبلا معرفی کردم، SubVersion هست.
http://en.wikipedia.org/wiki/Source_control

Developer Programmer
پنج شنبه 08 فروردین 1387, 08:52 صبح
علی جان دلفی یه Team Source داره، اون چیه ؟ به درد نمی خوره ؟!!

whitehat
پنج شنبه 08 فروردین 1387, 11:52 صبح
Source Safe یک ابزار کنترل سورس هست.
این ابزار علاوه بر کنترل سورس در یک تیم برنامه نویسی ، می تواند به عنوان یک هماهنگ کننده برای تیم پروژه استفاده شود. از این ابزار می توانید برای نگهداری مستندات پروژه، نگهداری ساختار پایگاه داده و اسکریپت ها و حتی نگهداری فایل اجرایی برنامه استفاده شود. این ابزار در پروژه هایی که مثلا از فرآیند RUP استفاده می شود بسیار کار را ساده می کند. اما همه این ها مشروط بر این است که در مراحل آغازین پروژه،تیم پروژه به یک استاندارد و ساختار مناسب برای توسعه نرم افزار رسیده باشند. چگونگی نسخه بندی، نماد گذاری، نام گذاری، تقسیم وظائف و روند نهایی کردن هر یک از Artifact ها چیزهایی است که در همان مراحل اولیه پروژه باید بررسی و تصویب شوند.

مهدی نان شکری
پنج شنبه 08 فروردین 1387, 12:40 عصر
دوست من آقای کشاورز من اولش گفتم که به نظر من، یعنی ممکنه اشتباه باشه و بزرگانی چون شما باید بر این حقیر خرده نگیرند.
پروژه ای که به صورت تیمی اجرا می شه ، آنقدر بزرگ هست که برای مدیریت آن باید از یک متدولوژی استفاده کنند. "من متخصص تحلیل و طراحی نیستم، و فقط آنچه را که از اساتیدی چون اساتید این سایت یاد گرفتم باز گو می نمایم، پس اگه در تحویل درس ها اشتباهی کردم خوشحال میشم اشاره ای داشته باشید." در این نوع پروژه ها دیگر کسی بعد از طراحی حق ایجاد تابع و کلاس و فرم به صورت دیمی رو نداره و باید براساس مستندی که بهش می دن کد بنویسه. یکی از این مستندات Class Diagram هست که تمامی اجزا فرم رو Software Architect طراحی و نامگذاری فرموده. پس نیازی نیست من برای لیبل های فرم هام lblHasan رو انتخاب کنم یا Hasan_lbl رو. کامنت نیز فقط در مواردی نیاز خواهد شد که بخواهیم بدنه یک تابع رو شرح بدیم. در این صورت دوست خوبمون جناب whitehat اشاره کرده بودن که یک سری استاندارد رو برای تیم باید تعریف کنیم. ولی در این نوع مستند ها ما نمیایم بگیم که جداول دیتابیس رو یا tbl شروع کن یا به _T ختم کن. چون این ها دست تعداد معدودی از افراد هستند. و همچنین اکثر مستندات رو از جمله فلان متد در فلان تابع چه آرگومان هایی رو میگیره و چی کار میکنه رو قبل از کد نویسی تهیه کردن و وظیفه کد نویس نیست که اون ها رو انجام بده. حتی از قبل مشخص می شه که فلان متد توسط کی و کی پیاده سازی شده.
ولی در مورد Source safe حق با شماست و من متوجه نبودم. می بخشید.
در هر صورت حق با شماست و من پست خودم رو پاک کردم.

vcldeveloper
پنج شنبه 08 فروردین 1387, 16:51 عصر
دلفی یه Team Source داره، اون چیه ؟ به درد نمی خوره ؟!!
حقیقتش من هیچوقت با Team Source کار نکردم. باید Integrity خوبی با دلفی داشته باشه. من برای پروژه هام از ترکیب SubVersion - TortoiseSVN - DelphiSVN استفاده میکنم. راضی هم هستم. SubVersion که خود نرم افزار اصلی هست. Tortoise یک رابط کاربر گرافیکی تحت ویندوز که بصورت Shell Extension هست، برای SubVersion فراهم میکنه. DelphiSVN هم یک Expert دلفی هست که یک منو در IDE دلفی ایجاد میکنه تا بشه از طریق اون با Tortoise از داخل IDE ارتباط برقرا کرد. همه شون open-source هستند.

vcldeveloper
جمعه 09 فروردین 1387, 18:11 عصر
دوست من آقای کشاورز من اولش گفتم که به نظر من، یعنی ممکنه اشتباه باشه و بزرگانی چون شما باید بر این حقیر خرده نگیرند.
پروژه ای که به صورت تیمی اجرا می شه ، آنقدر بزرگ هست که برای مدیریت آن باید از یک متدولوژی استفاده کنند. "من متخصص تحلیل و طراحی نیستم، و فقط آنچه را که از اساتیدی چون اساتید این سایت یاد گرفتم باز گو می نمایم، پس اگه در تحویل درس ها اشتباهی کردم خوشحال میشم اشاره ای داشته باشید."

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

موفق باشید

Developer Programmer
یک شنبه 11 فروردین 1387, 09:12 صبح
DelphiSVN هم یک Expert دلفی هست که یک منو در IDE دلفی ایجاد میکنه
علی جان؛ متاسفانه راهنمای نصب نداره... چطور تونستی نصبش کنی؟

vcldeveloper
دوشنبه 12 فروردین 1387, 02:14 صبح
علی جان؛ متاسفانه راهنمای نصب نداره... چطور تونستی نصبش کنی؟
خود SVN یا فقط DelphiSVN؟
خود SVN یک e-book کامل به عنوان راهنما داره که با خودش نصب میشه. توش نه تنها امکاناتش رو توضیح داده، بلکه سناریوهای مختلف کار با SVN رو هم قدم به قدم شرح داده.
DelphiSVN هیچ چیز خاصی نداره. همش یه Package ساده دلفی هست که باید کامپایل و نصبش کنی. البته قبل اش TortoiseSVN رو روی سیستمت نصب کن، چون DelphiSVN یک رابط برای Tortoise هست، نه یک رابط مستقیم به خود SVN.

Developer Programmer
دوشنبه 12 فروردین 1387, 09:50 صبح
همش یه Package ساده دلفی هست که باید کامپایل و نصبش کنی
من از لینک زیر دانلودش کردم.ولی توش فقط یه فایل exe و یه فایل dll بود!
http://sourceforge.net/projects/delphisvn

vcldeveloper
سه شنبه 13 فروردین 1387, 04:33 صبح
من از لینک زیر دانلودش کردم.ولی توش فقط یه فایل exe و یه فایل dll بود!
شرمنده، من اسمش رو اشتباه گفتم. DelphiSVN یکی از پروژه های Open-source ایی هست که برای استفاده از SVN در دلفی ایجاد شده. من با این ابزار کار نکردم و نمی دونم چطوری هست. اونی که من باهاش کار می کنم اسمش TSvnWizard (http://delphiaddinfortortoisesvn.tigris.org/) بود، اما خودم اشتباها اسم پوشه اش رو گذاشته بودم DelphiSVNً!