بهترین شیوهها
سبک کدنویسی حرفهای: نامگذاری، تورفتگی، تفکیک رویهها و خوانایی.
کد یک بار نوشته، صد بار خوانده میشود!
کد خوب کدی است که شش ماه بعد خودتان (یا همکارتان) بفهمیدش. این قانون طلایی است.
۱. نامگذاری معنادار
{ ❌ بد }
var x, y, z: integer;
procedure DoStuff(a: integer);
{ ✅ خوب }
var
studentCount, totalScore, averageScore: integer;
procedure PrintReportCard(studentId: integer);
| مورد | سبک | مثال |
|---|---|---|
| متغیر | camelCase یا snake_case | totalCount، total_count |
| رویه/تابع | فعل + مفعول | CalculateSum، PrintReport |
| ثابت | حروف بزرگ | MAX_STUDENTS، TaxRate |
| نوع سفارشی | پیشوند T | TScore، TDay |
| boolean | Is/Has/Can | isValid، hasPermission |
۲. تورفتگی و فاصله
{ ❌ بد — همه در یک خط! }
if x>0 then begin writeln('pos'); if x>100 then writeln('big'); end;
{ ✅ خوب — خوانا }
if x > 0 then
begin
writeln('pos');
if x > 100 then
writeln('big');
end;
- هر بلوک: ۲ فاصله تورفتگی
- دور عملگرها فاصله:
x := a + bنهx:=a+b - begin در خط جدید یا ادامه خط — فقط یک سبک انتخاب کنید
۳. رویههای کوچک و تکمنظوره
{ ❌ بد — یک رویه، ده کار }
procedure DoEverything;
begin
{ خواندن + اعتبارسنجی + محاسبه + چاپ + ذخیره... ۲۰۰ خط! }
end;
{ ✅ خوب — هر کار، یک رویه }
procedure ReadInput;
function ValidateData: boolean;
function CalculateResult: real;
procedure PrintReport;
قانون: اگر رویهای از یک صفحه (۴۰-۵۰ خط) بزرگتر شد، احتمالاً باید به چند رویه تقسیم شود!
۴. ثابت به جای عدد جادویی
{ ❌ }
if score > 20 then ...
for i := 1 to 30 do ...
{ ✅ }
const
MaxScore = 20;
ClassSize = 30;
if score > MaxScore then ...
for i := 1 to ClassSize do ...
۵. کامنت — نه کم، نه زیاد
{ ❌ کامنت بیفایده }
i := i + 1; { یکی به i اضافه کن }
{ ✅ کامنت مفید }
{ شمارنده خطاها — برای گزارش نهایی }
errorCount := errorCount + 1;
۶. از var سراسری کم استفاده کنید
یادآوری از مبحث دامنه: هر متغیر در کوچکترین دامنه ممکن. سراسری فقط برای واقعاً مشترکها.
۷. اول فکر کن، بعد بنویس!
- مسئله را با چند جمله توضیح دهید
- به رویهها/توابع تقسیم کنید
- هر بخش را جداگانه بنویسید و تست کنید
- در آخر ترکیب کنید
چکلیست کد حرفهای
- ☐ اسمها معنادارند؟
- ☐ تورفتگی یکنواخت است؟
- ☐ رویهها کوچک و تکمنظورهاند؟
- ☐ عدد جادویی ندارید؟
- ☐ کامنتها مفیدند؟
- ☐ متغیر سراسری به حداقل؟
خلاصه
کد خوب = خوانا + سازمانیافته + قابلتعمیم. سبک خوب را از همین امروز شروع کنید — بعداً عادت میشود!
این مبحث بخشی از دوره آموزش کامل پاسکال است.