برداشت ۸ — قانون پیش‌آهنگی

در برخی فرهنگ‌ها از فعالیت‌های پیش‌آهنگی (Boy Scouting) استفاده می‌شود تا جوانان به شهروندان بهتری در آینده رشد کنند. یکی از قوانین بنیادی این فرهنگ این است که: «سعی کن زمانی که از این دنیا می‌ری، از زمانی که اومدی بهتر شده باشه»؛ تعبیر عملی این قانون در کمپ‌ها به کار گرفته می‌شه: «همیشه کمپت رو تمیز‌تر از زمانی که بهش وارد شدی، ترک کن».

یکی از نکات این قانون این است که مهم نیست چه کسی کمپ را بدتر یا کثیف‌تر کرده است، مهم است که ما آن را تمیز‌تر کنیم.

این قانون را به کد نویسی اعمال کنیم. مهم نیست آن را چه کسانی نوشته‌اند. مهم آن است که کدی که من تحویل می‌دهم (Code Check-In/Push) از کدی که تحویل گرفتم (Code Check-In/Pull) بهتر باشد.

یکی از نتایج تمرین این قانون این است که به مرور زمان شاهد خواهیم بود که تیم‌ها برای یک سیستم خوب تلاش می‌کنند تا این که افراد برای اجزاء سیستم تلاش کنند.

اعمال این قانون چه‌قدر هزینه دارد؟

یک — هر کد جدیدی که به سیستم اضافه می‌کنی، تمیز باشد.

دو — حداقل یک (و حداکثر یک) جای دیگر از سیستم کمی تمیز‌تر شود؛ مثلا، نام یک متغیر را واضح‌تر کن یا یک متد طولانی را تبدیل به دو متد کوتاه‌تر و قابل فهم‌تر کن.

هر سیستم نرم‌افزاری محل زندگی کسانی‌ست که روی آن کار می‌کنند. عدم اعمال این قانون تعبیر دیگری هم دارد: در جایی زندگی‌ می‌کنی که زباله هست، آن‌ها را می‌بینی اما کاری برای تمیزیش نکردی.

تنها به فکر کد خود نباشیم.

— Uncle Bob