/
  • روش صحیح کد نویسی صفحات

  • ارسال پاسخ   امتیاز موضوع:
    • 2 رأی - میانگین امیتازات: 2.5
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی روش صحیح کد نویسی صفحات
    نویسنده پیام
    php آفلاین
    hossein
    ****

    ارسال‌ها: 629
    تاریخ عضویت: ۱۳۸۷ دي ۴
    اعتبار: 13
    تشکرها : 467
    ( 798 تشکر در 277 ارسال )
    ارسال: #1
    روش صحیح کد نویسی صفحات
    یه مشکلی که همیشه من دارم فکر می کنم بغییه هم باهاش درگیر هستن طریقه درست کدنویسیه .

    من نمی تونم یه ساختار درست برای پروژه هام در نظر بگیرم .

    مثلا

    به فرض قراره این سایت 10 صفحه داشته باشه 5 صفحش به غیر از ساختار کلیش داری یه متن ساده است و در 2 صفحه دیگه قراره که مثل صفحات اخبار اون صفحات دارای صفحات مجازی زیادی باشن که به طور اتوماتیک قراره ساخته بشن و 3 صفحه هم مربوط به قسمت اعضا هست که محتوای اون صفحات برای هر عضو فرق می کنه .

    می خوام رو این ساختار بحث کنیم که چجوری باید پیاده سازیش کرد .
    __________________________________________________________________________
    ۱۳۸۸ فروردين ۲ ۱۲:۵۲ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Maya
    amir.s آفلاین
    عضو
    ***

    ارسال‌ها: 148
    تاریخ عضویت: ۱۳۸۷ دي ۱
    اعتبار: 3
    تشکرها : 453
    ( 186 تشکر در 99 ارسال )
    ارسال: #2
    RE: روش صحیح کد نویسی صفحات
    سلام

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

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

    بعد یه کاغذ بر میدارم . شروع به نوشتن نیاز ها ، ابزارهای اجرا ( فریم ورک ، کلاس آماده ، برنامه های قبلی که خودم نوشتم و ... ) و البته اینکه درنهایت می خواهیم به چه شکل و شمایلی دست پیدا کنیم .

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

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

    در پایان این مرحله اطلاعات زیادی دارم که می تونم به خوبی ازش استفاده کنم . اینجا اگه پروژه بزرگ باشه دست به دامن دوستان میشم تا به سراغ UML بریم و با صرف هزینه زیاد زمانی و مالی به طراحی و کشیدن چارت های لازم برای پروژه می پردازم ( در بیشتر موارد نیاز نیست Wink ).

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

    در اجرای این مرحله امنیت حرف اول رو میزنه .
    بعد به سراغ یه ایندکس میرم ، در این ایندکس که ورودی کل برنامه هست . کنترل رو می نویسم ( در این مرحله نیت خالص خیلی مهمه Big Grin ).
    توسط این واسط تعیین میکنم که چه پارامتر هایی به عنوان ورودی معتبر هستند و چه مقادیری رو حمل میکنند و معنی گرفتن هر ورودی چی هست ( به عنوان مثال متغیر Page باید حاوی عدد باشه و ID صفحه در دیتابیس هست و action به ما میگه که مدیر می خواد چه کاری انجام بده ، مثلا ویرایش -> پس باید ویرایشگر هم لود بشه . به کلاس و متد مورد نظر توسط این واسط خبر میدم . )

    در نهایت به سراغ قالب سایت میرم . بازم در دو بخش مدیریت و کاربری ( گاهی اوقات یکسان هستند !) طراحی HTML , JS , CSS رو مستقل انجام میدم. با توجه به شکل هایی که اول داستان کشیدم به ایده آل نزدیکش میکنم .

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

    شروع به تست و دیباگ برنامه میکنم . معمولا اصلاحات زیادی انجام میشه .
    در مرحله بعدی تست ، به یه سری ناشی در برنامه نویسی مراجعه میکنم . اونها بهترین تست های دنیا رو انجام میدن . کاربر پسندی ، خطاها ، باگ ها و خیلی چیزهای دیگه رو برام تست میکنند ( بدون اینکه چیزی ازشون بخوام ! ) .
    تست نهایی امنیت هست . اگه دوستی داشته باشید که امین باشه و معمولا علاقه به سوراخ کردن لوازم اطراف خودشون با چاقو و .. داشته باشه ، می تونید برنامه رو بهش بسپارید . Big Grin اگه چنین دوستانی هم ندارید می تونید کار رو به اسکنر ها بسپارید .

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

    در تمام این مراحل کاغذ هایی که کلاسه شده بود و خوش خط هم نوشته بودم Tongue رو درب و دیوار چسبیده . رو هدف متمرکزم و حرکت میکنم .

    امیدوارم خوب منظورم رو رسونده باشم و مفید باشه .

    امیر هستم ، مردی با پست های طولانی Big Grin
    ۱۳۸۸ فروردين ۲ ۰۲:۱۰ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : admin irantrack Maya aligilani1986
    php آفلاین
    hossein
    ****

    ارسال‌ها: 629
    تاریخ عضویت: ۱۳۸۷ دي ۴
    اعتبار: 13
    تشکرها : 467
    ( 798 تشکر در 277 ارسال )
    ارسال: #3
    RE: روش صحیح کد نویسی صفحات
    اره خوب بود ولی خیلی کلی گفته بودی .

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

    اقا امیر اگر میشه یکمی در مورد جزئیات توضیح بده .

    می خوام برای صفحاتی مثل بالا که توضیح دادم یه ساختار قانون مند تعریف کنم . یه ساختار بر اساس تکنیک mvc یا یک روش عملی خوب.

    چه جوری من باید این صفحات رو در این ساختار بگنجونم .
    __________________________________________________________________________
    ۱۳۸۸ فروردين ۲ ۰۵:۲۰ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Maya
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,734
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1360
    ( 6194 تشکر در 3437 ارسال )
    ارسال: #4
    RE: روش صحیح کد نویسی صفحات
    به نظر من بهتره نرم افزارهای بازمتن مشابه رو نگاه کنی. به ساختارشون توجه کنی
    خیلی از نکات رو که واقعا قابل گفتن نیست رو به دست بیاری
    ۱۳۸۸ فروردين ۲ ۰۵:۳۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : Maya
    amir.s آفلاین
    عضو
    ***

    ارسال‌ها: 148
    تاریخ عضویت: ۱۳۸۷ دي ۱
    اعتبار: 3
    تشکرها : 453
    ( 186 تشکر در 99 ارسال )
    ارسال: #5
    RE: روش صحیح کد نویسی صفحات
    بازم سلام

    حسین جان ، این و پست قبلی که به توضیح روش ها پرداختم هر دو بر ساختار MVC هستند. MVC چیز خاصی نیست ، پیچیدش نکنید. Exclamation

    شما برای همین مثالی که زدید چندتا کار رو سریع انجام بده ( اجرا نکن فقط رو کاغذ بنویس ) .

    1- بنویس چند نوع کاربر داری ( بازدید کننده ، اعضا ، مدیر و ... )
    2- برای هر کدوم چه کارهایی باید انجام بشه . در واقع کاربر چی می خواد ؟
    3- سطح نیاز هر کدوم رو بررسی کن.
    4- منابع رو تعیین کن ( دیتابیس برای ذخیره صفحات و لیست کاربرها - فایل برای تنظیمات پیکربندی و .. )
    5- شروع به طراحی ساختار دیتابیس کن - از هسته ( یعنی در این مثال محتوا : ID ، تاریخ ایجاد ، سطح دسترسی کاربر ، خود محتوا و ... ) به همین ترتیب بخش به بخش ، بر اساس همون نوع کاربر و نیازهاشون .
    6- دیتابیس رو پیاده سازی کن .
    7- کلاس منابع رو آماده و پیکربندی کن. ( کلاس دیتابیس ، فایل و ... )

    - - - - - - - - - - - - اینجا آغاز کد نویسی هست - - - - - - - - - - - - - -

    8- می تونی طبق همون نیاز ها شروع به کد نویسی کنی . ( توصیه میکنم برای راحتی HTML رو از کدهای پی اچ پی جدا بنویسی )
    9- ....

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

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

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

    * خارج از موضوع : خدا خیر بده به این طراحان فایرفاکس رو Smile . من سیستمم Restart شد ولی دوباره که فایرفاکس رو باز کردم نوشته هام نپریده بود .
    ۱۳۸۸ فروردين ۲ ۰۷:۲۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : admin php Maya
    php آفلاین
    hossein
    ****

    ارسال‌ها: 629
    تاریخ عضویت: ۱۳۸۷ دي ۴
    اعتبار: 13
    تشکرها : 467
    ( 798 تشکر در 277 ارسال )
    ارسال: #6
    RE: روش صحیح کد نویسی صفحات
    امیر جان از کمکی که کردی ممنونم .

    میشه یه پروژه کد باز خوب معرفی کنی که هم بشه راحت درکش کرد وهم در مورد mvc اطلاعات خوبی بشه ازش بدست اورد .
    __________________________________________________________________________
    (آخرین ویرایش در این ارسال: ۱۳۸۸ فروردين ۳ ۱۲:۴۸ صبح، توسط php.)
    ۱۳۸۸ فروردين ۳ ۱۲:۴۵ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Maya
    amir.s آفلاین
    عضو
    ***

    ارسال‌ها: 148
    تاریخ عضویت: ۱۳۸۷ دي ۱
    اعتبار: 3
    تشکرها : 453
    ( 186 تشکر در 99 ارسال )
    ارسال: #7
    RE: روش صحیح کد نویسی صفحات
    عرض کنم که الان چیز خاصی مد نظرم نیست .

    اما چون مثالت در مورد مدیریت محتوا بود ، فکر میکنم به سراغ CMS ها برو . مثل مامبو ، دوراپال و ...

    من خودم با مامبو شروع کردم . کدهاش خیلی اذیت نمیکنه و در عین حال خیلی قدرتمند هست . البته این یه پیشنهاده ! دوستان دیگه هم نظر میدن احتمالا پروژه های سبک تری که تجربه کردن رو بهت معرفی میکنند. Wink
    ۱۳۸۸ فروردين ۳ ۰۱:۵۴ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : Maya
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,734
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1360
    ( 6194 تشکر در 3437 ارسال )
    ارسال: #8
    RE: روش صحیح کد نویسی صفحات
    drupal کار کن بلکم کمک حال ما بشیBig Grin
    ۱۳۸۸ فروردين ۳ ۰۴:۳۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : php Maya
    php آفلاین
    hossein
    ****

    ارسال‌ها: 629
    تاریخ عضویت: ۱۳۸۷ دي ۴
    اعتبار: 13
    تشکرها : 467
    ( 798 تشکر در 277 ارسال )
    ارسال: #9
    RE: روش صحیح کد نویسی صفحات
    اقا وحید از راهنماییت ممنون .

    من drupal رو دانلود کردم و از امروز کار رو بروی اون شروع می کنم .
    __________________________________________________________________________
    ۱۳۸۸ فروردين ۴ ۰۲:۲۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : admin
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS