S.Cheraghi
کاربر تازه وارد
- تاریخ عضویت
- 28 فوریه 2017
- نوشتهها
- 48
- لایکها
- 4
اصول خوانایی کد برای نمایش کدهای وی بی (VBA)
زمانیکه در حال یادگیری زبان وی بی (VBA) هستید خیلی مهمه که از همون اول نحوه درسته معرفی کدهای نوشته شده رو بلد باشید و اصول خوانایی کد های وی بی و طبق اون کدهاتون رو توضیح بدید. کدزنی به این شیوه زمان بیشتری از شما میگیره اما اگه به این شیوه پایبند باشید خیلی راحت میتونید بفهمید که کد نوشته شده چیه و چه کاری انجام میده.
در زمان نوشتن کد برای شما کاملا واضح هست که کد برای چی نوشته شده و کارکردش چیه، اما باید کدها رو طوری بنویسید که اگه 6 ماه دیگه هم برگشتید تا کد رو بررسی کنید (به هر دلیلی مثل اصلاح کد و یا بهبود اونها) مثل الان براتون روشن باشه و با کمترین زمان بتونید کدها رو تغییر بدید. حالت سخت تر اینه که فردی دیگه ای کدهای شما رو بخواد بخونه و متوجه بشه که چی هست.
امروز میخوایم در مورد کامنت ها، تورفتگی و شکستگی خطوط کد صحبت کنیم. اینها ابزارهایی هستند که تو تبدیل کدهای شما به کدهایی واضح کمک میکنند.
کامنت ها (Comments)
مهمترین اصل از اصول خوانایی کد برای شفاف سازی و رمزگشایی یک کد استفاده از کامنت ها تا حد توان هست. کامنت ها خطوطی در کد شما هستند که برای یک توضیح به شما و دیگران که در حال خوندن کد هستند استفاده میشه، اینکه کدی که اینجا هست چه کاربردی داره و برای چی اینجا هست.
کامنت ها به وسیله زبان وی بی (VBA) اجرا نمیشن برای همین تأثیری در خروجی برنامه هم ندارن. تو زبان وی بی (VBA) هر چیزی که بعد از کارکتر (‘) بیاید رو به عنوان یک کامنت در نظر میگیره. به همین دلیل تو ویرایشگر کد وی بی (VBA) رنگ کامنت ها به رنگ سبز تغییر میکنند.
حتما بخوانید: چطور اطلاعات را در اکسل وارد کنیم؟
تو مثال زیر یک قطعه کد وجود داره که با استفاده از کامنت ها خطوط مهم، کد رو توضیح دادیم:
حتما بخوانید: تابع Sumif اکسل | محاسبه جمع شرطی در یک مجموعه داده
همونطور که اول گفتم استفاده از این روش زمان بیشتری میبره و عمدتا این کار رو انجام نمیدن ولی زمانیکه دوباره سراغ کدها برن ارزش این روش مشخص میشه.
هر دقیقه ای که شما صرف ایجاد توضیح مناسب برای کدهاتون میکنید در آینده ساعت ها زمان شما رو برای ویرایش کدها ذخیره میکنه.
تورفتگی کدها
یکی دیگه از اصول خوانایی کد ها که برای کمک به افزایش خوانایی کدها استفاده میشه اضافه کردن تورفتگی ها به کد هست. اگه یه بار دیگه به مثال بالا نگاه کنید میبینید که وجود تورفتگی ها باعث میشه که بهتر متوجه بشید که هر خط کد زیر مجموعه چه دستوری هست. برای ایجاد تو رفتگی در هر خط از دکمه TAB استفاده میشه که به ازای هر بار زدن این دکمه یک تو رفتگی ایجاد میشه.
شکستگی خطوط
بعضی وقت ها به خاطر منطق مسئله مجبور میشیم که یک خط از کد رو خیلی طولانی بنویسیم. وجود خطوط بلند یکی دیگه از اصول خوانایی کد هست باعث میشه که کدها یکدست دیده نشن. از طرفی وسط یک خط نمیشه با زدن اینتر (Enter) به خط بعدی رفت و مابقی کد رو از اونجا نوشت (با انجام این کار به ما پیغام داده میشه که باعث ایجاد خطا میشه). اما یک راه برای ایجاد این شکستگی تو کدهای بلند وجود داره.
زمانیکه میخواید یک خط رو به دو خط تبدیل کنید باید در قسمتی که قصد شکستن خط رو دارید یک فاصله و زیرخط بذارید ( _) و بعد از آن اینتر بزنید. با این کار نشون به اجرا کننده برنامه نشون دادیم ادامه این خط از کد در خط بعدی قرار داده شده.
در مثال زیر نشون میدیم که چطوری شکستگی خطوط باعث افزایش خوانایی کدهای وی بی میشه. دستور If زیر رو در نظر بگیرید:
حتما بخوانید: قواعد فرمول نویسی حرفه ای در اکسل | قسمت اول
در این آموزش سعی کردیم نشون بدیم که نحوه توضیح و نوشتن کدهای وی بی چقدر میتونه تو خوانایی و روشن بودن مفهوم کد تأثیر داشته باشه که نتیجه آن ذخیره ساعت ها وقت شما در درک کدها و کاهش احتمال به وجود آمدن خطا است.
منبع آموزش:
گروه تخصصی اکسل پدیا | توابع اکسل | اکسل چیست
3 روش برای افزایش خوانایی کدهای وی بی (VBA)
زمانیکه در حال یادگیری زبان وی بی (VBA) هستید خیلی مهمه که از همون اول نحوه درسته معرفی کدهای نوشته شده رو بلد باشید و اصول خوانایی کد های وی بی و طبق اون کدهاتون رو توضیح بدید. کدزنی به این شیوه زمان بیشتری از شما میگیره اما اگه به این شیوه پایبند باشید خیلی راحت میتونید بفهمید که کد نوشته شده چیه و چه کاری انجام میده.
در زمان نوشتن کد برای شما کاملا واضح هست که کد برای چی نوشته شده و کارکردش چیه، اما باید کدها رو طوری بنویسید که اگه 6 ماه دیگه هم برگشتید تا کد رو بررسی کنید (به هر دلیلی مثل اصلاح کد و یا بهبود اونها) مثل الان براتون روشن باشه و با کمترین زمان بتونید کدها رو تغییر بدید. حالت سخت تر اینه که فردی دیگه ای کدهای شما رو بخواد بخونه و متوجه بشه که چی هست.
امروز میخوایم در مورد کامنت ها، تورفتگی و شکستگی خطوط کد صحبت کنیم. اینها ابزارهایی هستند که تو تبدیل کدهای شما به کدهایی واضح کمک میکنند.
کامنت ها (Comments)
مهمترین اصل از اصول خوانایی کد برای شفاف سازی و رمزگشایی یک کد استفاده از کامنت ها تا حد توان هست. کامنت ها خطوطی در کد شما هستند که برای یک توضیح به شما و دیگران که در حال خوندن کد هستند استفاده میشه، اینکه کدی که اینجا هست چه کاربردی داره و برای چی اینجا هست.
کامنت ها به وسیله زبان وی بی (VBA) اجرا نمیشن برای همین تأثیری در خروجی برنامه هم ندارن. تو زبان وی بی (VBA) هر چیزی که بعد از کارکتر (‘) بیاید رو به عنوان یک کامنت در نظر میگیره. به همین دلیل تو ویرایشگر کد وی بی (VBA) رنگ کامنت ها به رنگ سبز تغییر میکنند.
حتما بخوانید: چطور اطلاعات را در اکسل وارد کنیم؟
تو مثال زیر یک قطعه کد وجود داره که با استفاده از کامنت ها خطوط مهم، کد رو توضیح دادیم:
' یک برنامه (روال اجرایی) برای جستجو درون سلول های
' که درون شیت فعال هست A1-A100
Sub Find_String(sFindText As String)
Dim i As Integer ' متغیر استفاده شده در حلقه برنامه
Dim iRowNumber As Integer ' متغیر استفاده شده برای ذخیره نتیجه
iRowNumber =
'جستجو در سلول های مشخص شده تا زمانیکه کلمه موجود در متغیر
'پیدا بشه sFindText
For i = 1 To 100
If Cells(i, 1).Value = sFindText Then
' در صورتیکه کلمه مورد نظر پیدا شد شماره ردیف آن را در متغیر مربوطه ذخیره کن و از حلقه خارج شو
iRowNumber = i
Exit For
End If
Next i
' یک پیغام به کاربر نمایش بده و نتیجه جستجو رو نمایش بده
If iRowNumber = Then
MsgBox "String " & sFindText & " not found"
Else
MsgBox "String " & sFindText & " found in cell A" & iRowNumber
End If
End Sub
اگه نحوه کار کردن کد بالا رو متوجه نشدید اصلا نگران نباشید با خوندن مطالب بعدی به زودی میتونید این کدها رو هم متوجه بشید و هم خودتون بنویسید. هدف از این مثال فقط نشون دادن این مسئله هست که چطوری با استفاده از کامنت ها بتونیم کدی که زدیم رو توضیح بدیم.' که درون شیت فعال هست A1-A100
Sub Find_String(sFindText As String)
Dim i As Integer ' متغیر استفاده شده در حلقه برنامه
Dim iRowNumber As Integer ' متغیر استفاده شده برای ذخیره نتیجه
iRowNumber =
'جستجو در سلول های مشخص شده تا زمانیکه کلمه موجود در متغیر
'پیدا بشه sFindText
For i = 1 To 100
If Cells(i, 1).Value = sFindText Then
' در صورتیکه کلمه مورد نظر پیدا شد شماره ردیف آن را در متغیر مربوطه ذخیره کن و از حلقه خارج شو
iRowNumber = i
Exit For
End If
Next i
' یک پیغام به کاربر نمایش بده و نتیجه جستجو رو نمایش بده
If iRowNumber = Then
MsgBox "String " & sFindText & " not found"
Else
MsgBox "String " & sFindText & " found in cell A" & iRowNumber
End If
End Sub
حتما بخوانید: تابع Sumif اکسل | محاسبه جمع شرطی در یک مجموعه داده
همونطور که اول گفتم استفاده از این روش زمان بیشتری میبره و عمدتا این کار رو انجام نمیدن ولی زمانیکه دوباره سراغ کدها برن ارزش این روش مشخص میشه.
هر دقیقه ای که شما صرف ایجاد توضیح مناسب برای کدهاتون میکنید در آینده ساعت ها زمان شما رو برای ویرایش کدها ذخیره میکنه.
تورفتگی کدها
یکی دیگه از اصول خوانایی کد ها که برای کمک به افزایش خوانایی کدها استفاده میشه اضافه کردن تورفتگی ها به کد هست. اگه یه بار دیگه به مثال بالا نگاه کنید میبینید که وجود تورفتگی ها باعث میشه که بهتر متوجه بشید که هر خط کد زیر مجموعه چه دستوری هست. برای ایجاد تو رفتگی در هر خط از دکمه TAB استفاده میشه که به ازای هر بار زدن این دکمه یک تو رفتگی ایجاد میشه.
شکستگی خطوط
بعضی وقت ها به خاطر منطق مسئله مجبور میشیم که یک خط از کد رو خیلی طولانی بنویسیم. وجود خطوط بلند یکی دیگه از اصول خوانایی کد هست باعث میشه که کدها یکدست دیده نشن. از طرفی وسط یک خط نمیشه با زدن اینتر (Enter) به خط بعدی رفت و مابقی کد رو از اونجا نوشت (با انجام این کار به ما پیغام داده میشه که باعث ایجاد خطا میشه). اما یک راه برای ایجاد این شکستگی تو کدهای بلند وجود داره.
زمانیکه میخواید یک خط رو به دو خط تبدیل کنید باید در قسمتی که قصد شکستن خط رو دارید یک فاصله و زیرخط بذارید ( _) و بعد از آن اینتر بزنید. با این کار نشون به اجرا کننده برنامه نشون دادیم ادامه این خط از کد در خط بعدی قرار داده شده.
در مثال زیر نشون میدیم که چطوری شکستگی خطوط باعث افزایش خوانایی کدهای وی بی میشه. دستور If زیر رو در نظر بگیرید:
حتما بخوانید: قواعد فرمول نویسی حرفه ای در اکسل | قسمت اول
If (index = 1 And sColor1 = "red") Or (index = 2 And sColor1 = "blue") Or (index = 3 AndsColor1 = "green") Then
با اضافه شدن شکستگی خط، همان ساختار رو به صورت زیر میتونیم استفاده کنیم:If (index = 1 And sColor1 = "red") Or _
(index = 2 And sColor1 = "blue") Or _
(index = 3 And sColor1 = "green") Then
بعد از اینکه ساختار If رو به صورت بالا شکستیم و تبدیل به سه خط کردیم، شرایط مختلف رو به راحتی تشخیص میدید.(index = 2 And sColor1 = "blue") Or _
(index = 3 And sColor1 = "green") Then
در این آموزش سعی کردیم نشون بدیم که نحوه توضیح و نوشتن کدهای وی بی چقدر میتونه تو خوانایی و روشن بودن مفهوم کد تأثیر داشته باشه که نتیجه آن ذخیره ساعت ها وقت شما در درک کدها و کاهش احتمال به وجود آمدن خطا است.
منبع آموزش:
گروه تخصصی اکسل پدیا | توابع اکسل | اکسل چیست
3 روش برای افزایش خوانایی کدهای وی بی (VBA)