10قانون عجیب در برنامه نویسی که از آنها بی خبر هستید | گیتی سرور | GITI Server
12 آذر 1399
برنامهنویسی دنیای جالبی دارد و قواعدی ینز بر آن حاکم است. برنامه نویسی اصولی دارد که اگر رعایت شود، لذت آن را بیشتر میکند. یک سری از قوانینی در این عرصه وجود دارد که از آن کمتر خبر دارید! در ادامه مواردی را بیان میکنیم که توجه به آنها خالی از لطف نخواهد بود.
1-اصل تورم
هر برنامه تا وقتی بتواند یک ایمیل یا نامه را بخواند، از قابلیت رشد و توسعه برخوردار است. اگر برنامهای این ویژگی را نداشت، با برنامههایی که این قابلیت را دارند، جایگزین میشوند. در این قانون درباره تمایل برنامهها به جذب امکانات و قابلیتهای بیشتر در طول زمان صحبت میشود و ناخودآگاه میزان پیچیدگی آنها افزایش پیدا میکند. در واقع امکاناتی هستند که بدون در نظر گرفتن هدف اصلی برنامه، به نرم افزار اضافه میشوند.
تورم منجر به بزرگتر شدن پروژه میشود و معمولا این تورم و بزرگی خیلی مطلوب نیست.
2-ذهنیت بدتر، بهتر است!؟
برای اولین بار در مقاله کیفیت نرم افزار، توسط ریچارد پی گابریل مطرح شده است: «نرم افزاری که محدودیت دارد و کار با آن ساده و راحت است، خیلی بهتر از سوی کاربران پذیرفته میشود تا نرم افزاری که محدودیت ندارد ولی کار با آن سخت و دشوار است.»
به طور کلی منظور از جمله بالا این است که بهتر است یک مشکل را در نرم افزار خود برطرف کنید تا برنامهی شما در این بخش خیلی خوب کار کند.
هرچقدر کارتان را بزرگتر کنید، مدیریت پروژه شما بیشتر از کنترل خارج میشود.
3-قانون ایگلسون
اگر شما به عنوان برنامه نویس، کدی نوشتید و شش ماه یا بیشتر به آن نگاه نکردید، ممکن است توسط شخص دیگری نیز نوشته شده باشد.
با توجه به این حقیقت که هیچ کس کامل نیست، شما باید بدانید که حتی اگر برنامه نویس نابغهای هم باشید، همیشه چیزهای جدیدی برای یادگیری و رشد وجود دارد. حال اگر به عقب برگشتید و با نگاه به پروژههای قدیمی خود متوجه شدهاید که هیچ رشد و پیشرفتی نداشتهاید، باید متفاوت تر عمل کنید؛ اینجاست که متوجه خواهید شد به عنوان یک برنامه نویس، دچار رکود و تزلزل شدهاید.
4-اصل شگفتی حداقلی
در این اصل، رعایت تعادل میان نوآوری و کاربر پسند بودن یک اصل بسیار مهم است. اگر یک بخش از نرم افزار شما با بخش های دیگر تفاوت زیادی داشته باشد، طبیعتا نمیتواند مطابق با خواستههای کاربر باشد و به همین دلیل کاربران با آن سازگار نمیشوند. بهتر است به دنبال روشهایی باشید که باعث بهبود و جذابیت نرم افزارتان شود و در عین حال خیلی راحت و کاربر پسند بماند.
5-قانون حشره شناسی (باگ) سایبرنتیک
همیشه یک باگ دیگر وجود دارد! این قانون برای تمام برنامه نویسها صادق است.
مهم نیست تا چه اندازه تلاش میکنید کدهای خود را تمیز بنویسید یا تا چه اندازه ماژولهای خود را تست و بررسی میکنید؛ حتی اگر ساختار کلاسهای خود را اصلاح هم کنید، همیشه باگ دیگری وجود دارد.
6-قانون کرنیگان
باگ گیری و رفع خطا، دو برار کدنویسی دشوار است؛ بنابراین تا جایی که میتوانید کدهای خود را هوشمندانه بنویسید چون هنگام باگ گیری نمیتوانید به این اندازه هوشمندانه عمل کنید. برایان کرنیگان که یکی از نویسندگان مرجع زبان برنامه نویسی C است با این قانون خود خیلی معروف شد.
این شخص میگوید که کدهای خوب، خوانا و ساده بنویسید و نیازی نیست که کدهای شما خیلی هوشمندانه باشند.
هرچقدر درک مدهای شما سختتر باشد، باگ گیری آن نیز دشوارتر است.
7-باگ گیری اردک پلاستیکی
در کتاب برنامه نویس عملگرا گفته شده که باگ گیری اردک پلاستیکی مربوط به زمانی است که از طریق توضیح دادن کد خود به یک شیء(مانند اردک پلاستیکی ) میتوانید باگ نرم افزار خود را برطرف کنید. این روش بسیار درست است؛ زیرا توضیح دادن، باعث فعال شدن بخشهای مغز شما میشود و با رسیدن به تناقضات میتوانید ببینید کجای کار اشتباه شده و از این طریق باگها را برطرف کنید.
8-قانون 90-90
۹۰ درصد اول کدهایی که شما نوشته اید، ۱۰ درصد اصلی زمان توسعه را به خود اختصاص میدهد. ۱۰ درصد باقی مانده از کدها ۹۰ درصد دیگر از زمان توسعه را در برمیگیرد. این ضرب المثل که توسط تام کارگیل بیان شده، نشان دهنده آن است که چرا برنامه نویسی کار خسته کنندهای است. مهم نیست تا چه اندازه به پایان کار نزدیک هستید، مهم این است که هنوز با بهترین تخمینها فاصله زیادی دارید. زمانی که فکر میکنید انتهای کارتان است، تازه به میانه راه رسیدهاید و هنوز راه درازی باقیست.
9-قانون پارکینسون
زمانی که فکر میکنید برای رسیدن به پایان کار آماده می شوید، متوجه میشوید که هنوز خیلی کار دارید. این اصل توسط پارکینسون مطرح شده و کاربرد وسیعی در برنامه نویسی دارد و در کنار قانون ۹۰-۹۰ قرار میگیرد.
با وجود این مقدار زمانی که برای اتمام پروژه دارید، دقیقا زمانی نیت که رخ می دهد.
در پروژههای نرم افزاری، زود تمام کردن پروژه، فقط یک افسانه است.
10-قانون بروک
اضافه کردن نیروی انسانی به پروژهای که زمان بر شده، سبب طولانیتر شدن آن میشود؛ زیرا باید بدانید هر کسی در مرحله مورد نظر به چه صورت کار انجام میدهد و در واقع زمان بیشتری از شما گرفته میشود.
کلام آخر
شاید بعضی از این قانونها برای شما عجیب به نظر برسد اما قطعا اگر کمی در این حوزه تجربه کسب کنید به درستی آنها پی خواهید برد.
یک دیدگاه برای “10قانون عجیب در برنامه نویسی که از آنها بی خبر هستید”
مطلب خیلی جالبی بود