چگونه کد نویسی زیباتری داشته باشیم .
خوب همیشه هم نباید به ظاهر برنامه توجه داشت . در همین خصوص پست بالا که پاک شده رو براتون قرار میدم که من شدیدا با این موضوع موافقم و فکر هم نمی کنم کسی مخالفتی داشته باشه . دوستمون هم برای اینکه مسیر تاپیک عوض نشه پست رو حذف کردند اما من قصدم از ( تکنیک ها و اصول ) به صورت کلی هست نه فقط Design .
نوشته شده توسط
obalitjoOon
سلام
خیلی خوب هست که راجب این مبحث دارید صحبت می کنیداما یه سوالی من دارم:
واقعا زیبا سازی برنامه اینقدر مهم هست؟ چرا راجع به هسته برنامه صحبت نمی کنید؟ راجب این صحبت نمی کنید که سرعت در ذخیره و یا بازیابی رکوردها رو چی جوری بالا ببرید؟
راجب این بحث نمیشه که چی کار کنیم کمترین درصد خطا رو داشته باشیم؟
تو چه پروژه هایی باید از امنیت استفاده بکنیم؟
چرا راجب بایت بایت برنامه صحبت نمی کنید؟
چی کار کنیم تو شبکه همزمان User ها از DB کار بکشن بدون اینکه سرور کش بشه؟
چی کار کنیم که کاربر کمترین گشت و گذار رو تویه فرم های برنامه داشته باشه؟
راجع به این ندیدم صحبتی بشه که چه کار کنیم بعد از 2 سال وقتی به کد برنامه نگاه می کنیم تو کمترین زمان متوجه بشیم چی کار کردیم؟
چگونه برنامه رو طراحی کنیم که با DB های مختلف سازگاری داشته باشه بدون اینکه کمترین تغییری تو برنامه داده بشه؟
چه معیارهایی رو برای validate داده ها انتخاب کنیم تا درصد خطا در ثبت رکوردها کم بشه؟ (سیستم های اطلاعات مدیریت)
و خیلی مباحث تخصصی دیگه
زیبایی اینقدر مهم هست؟
همه این مباحث مربوط به این تاپیک نمیشه . فقط یک موضوع هست و اون هم .
راجع به این ندیدم صحبتی بشه که چه کار کنیم بعد از 2 سال وقتی به کد برنامه نگاه می کنیم تو کمترین زمان متوجه بشیم چی کار کردیم؟
خوب به بحث اصلی برسیم . چطوری این امر امکان پذیره ؟
یعنی یک کد رو یه جوری بنویسیم که اگر 1 هفته یا 1 ماه یا 1 سال دیگه بهش نگاه کردیم توی سریعترین زمان ممکن اون رو درک کنیم و بفهمیم چرا اون کد نوشته شد .
خود من هم اوایل اهمیتی به این نمیدادم . یعنی برام فرقی نمی کرد که کد رو کجا می نویسم یا چجوری می نوشتم . کامنت رو که اصلا حرفشو نزن
اما حالا خدا رو شکر کمی بهتر شدم . حالا هم سعی می کنم چیزهایی که یاد گرفتم و مطالعه کردم رو در اختیار شما بزارم تا همه از اون استفاده کنیم
vbhamed : اگر من و شما هر كدوم یک چیز رو یاد داشته باشيم ولي به هم ديگه ياد بديم، حالا هر کدوم از ما دو تا چیز یاد داریم
-----------------------------------------------------------------------------------------------------
1- برای خودتون یک استایل داشته باشید .
ببینید نوشتن کدها قانون نداره . یعنی حتما نباید خط ها با هم فلان قدر فاصله داشته باشه .
نه اینطور نیست . هر کسی برای خودش میتونه استایل خاص خودش رو دشته باشه .
مثلا دوتا عکس زیر رو با هم مقایسه کنید .
تصویر اول . کد نویسی هست که بعدها میشه به یادش آورد اما کد دوم
تصویر اول :
اما تصویر دوم :
2- از تورفتگی ها استفاده کنید .
استفاده از تورفتگی ها برای درک بهتر کدها در آینده بسیار بسیار مفید هست .
به کد ها زیر توجه کنید
کد اول یک کد در حالت معمولی است .
if (hours < 24 && minutes < 60 && seconds < 60) {
return true;
} else {
return false;
}
اما این کد . کدی هست که به یاد آوری اون آسون هست و تفکیک شده هست .
if (hours < 24 && minutes < 60 && seconds < 60) {
return true;
} else {
return false;
}
یا مثلا
Type TEmployee
nID As Long
sSurname As String
cSalary As Currency
End Type
3- از یک نوع چیدمان پیروی کنید .
سعی کنید بتونید کد ها رو از یک طرف با هم برابر کنید . البته این روش در همه جا امکان پذیر نیست . اما برای خیلی از جاها کاربرد داره
مثلا کد زیر رو ببینید . یک کد ساده است که از این نوع چیدمان در اون استفاده نشده .
$search = array('a', 'b', 'c', 'd', 'e');
$replacement = array('foo', 'bar', 'baz', 'quux');
// نمونه دیگر:
$value = 0;
$anothervalue = 1;
$yetanothervalue = 2;
حالا کدی که از چیدمان در اون استفاده شده رو در زیر مشاهده کنید و مقایسه کنید ؟ کدوم یک بهتره ؟
$search = array('a', 'b', 'c', 'd', 'e');
$replacement = array('foo', 'bar', 'baz', 'quux');
// نمونه دیگر:
$value = 0;
$anothervalue = 1;
$yetanothervalue = 2;
4- از فاصله استفاده کنید (Space)
توی اکثر زبان های برنامه نویسی معمولا فاصله ها به حساب نمیان.
مثلا کد زیر . یک کد معمولی و بدون اسفاده از Space هست
int i;
for(i=0;i<10;++i){
printf("%d",i*i+i);
}
کد زیر یکم بهتره
int i;
for (i=0; i<10; ++i) {
printf("%d", i*i+i);
کد زیر هم به صورت کامل از Space استفاده شده
int i;
for (i = 0; i < 10; ++i) {
printf("%d", i * i + i);
}
5- از تب استفاده کنید .
خیلی هامون از تب برای مرتب کردن کدهامون استفاده می کنیم . اما اکثرا به اشتباه استفاده میشه . یعنی به جای اینکه کارمون رو راحت کنه و سخت تر هم میکنه .
مثلا یک کد داریم به این صورت
int ix; // Index to scan array
long sum; // Accumulator for sum
روش درست استفاده از تب در این عبارت به این صورت هست
int ix; // Index to scan array
long sum; // Accumulator for sum
و روش اشتباه هم که باعث میشه حتی خوندن اون کد سخت تر بشه اینه
int ix; // Index to scan array
long sum; // Accumulator for sum
فکر کنید به جای دو خط 2000 خط دارید . اون موقع چه اتفاقی میفته ؟
این بخش ادامه دارد و تکمیل خواهد شد .
در آخر از دوست عزیزم xxxxx_xxxxx تشکر می کنم که من رو در خیلی از مسائل راهنمایی می کنند . از دوستان دیگر هم بابت این جسارت عذر می خوام . بنده شاگرد همه شما هستم .
موفق و موید باشید ./