خانه / دانستنیها / قانون پیش‌آهنگی

قانون پیش‌آهنگی

مطلب زیر را در یادداشت‌های «بهروز نوبخت» عزیز یافتم. فرهنگ «پیش‌آهنگی» در تولید گروهی کد خیلی پیشنهاد و تمثیل جالبی است. پیشنهاد می‌کنم بخوانید:

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

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

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

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

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

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

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

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

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

— Uncle Bob

 

 

برگرفته از کانال نرم‌نویس (@narmnevis)

 

 

 


درباره صادق علی‌اکبری

صادق، یکی از مؤسسان انجمن جاواکاپ است. وی فارغ‌التحصیل دکترای مهندسی کامپیوتر از دانشگاه صنعتی شریف است و بیش از 13 سال فعالیت در صنعت نرم‌افزار را در سابقه دارد که بخش مهمی از آن در شرکت مشاوران نرم‌افزاری اعوان بوده است. صادق هم‌اکنون عضو هیأت علمی دانشگاه شهید بهشتی است.

همچنین بررسی کنید

آشنایی با برنامه جدید انتشار نسخه‌های جاوا

شرح امکانات نوین جاوا ۹ در سایت‌‌‌ها و وبلاگ‌‌‌ها ادامه دارد. هنوز بسیاری از برنامه‌نویسان …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *