۱۴ قانونی که هر توسعه دهنده باید به آن‌ها پایبند باشد

06 بهمن 1399, خواندن در 12 دقیقه

داشتن مجموعه‌ای از قوانین به شما کمک می‌کند تا عملکرد بهتری داشته باشید، زیرا به جای تصمیم‌گیری فوری می‌توانید به موقع و در شرایط مناسب بهترین انتخاب‌ها را داشته باشید. از مجموعه قوانین درست و مناسب می‌توان به عنوان ابزاری در جهت پیشرفت خود به عنوان یک توسعه دهنده استفاده کرد. در این مقاله ما ۱۴ قانون را بررسی خواهیم کرد که هر توسعه دهنده برای رسیدن به رشد و تکامل باید آن‌‌ها را رعایت کند. اگرچه ممکن است رعایت تمام این قوانین دشوار باشد، اما باید سعی کنید حداقل به تعدادی از آن‌ها پایبند باشید.

۱. کدهای فانکشنال کدهای زیبا را شکست می‌دهد

کدهای فانکشنال از هر ۱۰ بار ۹ دفعه کدهای زیبا را شکست می‌دهند. به عنوان مثال اضافه کردن الگوی طراحی به کدبیس شما تنها به این خاطر که زیباست نمی‌تواند دلیل خوبی برای پیاده‌سازی باشد؛ مخصوصاً وقتی که می‌توان این مشکل را با قرار دادن چند خط کد ساده حل کرد. اگرچه الگوی طراحی می‌تواند راه‌حل ظریف‌تری باشد، اما کارهای فنی را به پروژه اضافه می‌کند. همچنین با این کار ساخت و آزمایش پروژه به زمان بیشتری نیاز خواهد داشت.

۲. در مهندسی زیاده‌روی نکنید

مهندسی بیش از حد یکی از عادات بدی است که بسیاری از توسعه‌دهندگان درگیر آن هستند. وقتی به یک کدبیس نگاه می‌کنید، بیشتر از حد معمول کدهای مهندسی شده را مشاهده خواهید کرد. اساساً منظورم از مهندسی بیش از حد این است که شما یک محصول را سخت‌تر و پیچیده‌تر از حد نیاز طراحی می‌کنید. یکی از راه‌های ورود این معضل به کدبیس این است که توسعه دهنده کدی را اضافه می‌کند که تصور دارد در آینده به درد او خواهد خورد.

این قطعه کد جدید به کدبیس اضافه خواهد شد، اما احتمالاً هرگز مورد استفاده قرار نمی‌گیرد. نمی‌توان دلیل محکمی برای این اتفاق بیان کرد اما حدس و گمان‌هایی در این زمینه وجود دارد. شاید بهترین روش برای توضیح دادن این مشکل این باشد که شما کدی را اضافه می‌کنید تا مشکلی را که اصلاً وجود ندارد برطرف کند.

فقط چیزهایی که از شما خواسته شده را در الزامات ایجاد کنید و ویژگی‌های احتمالی جدید و غیرضروری را نادیده بگیرید.

۳. بازخوردها و انتقادات را با آغوش باز پذیرا باشید

وقتی در یک تیم مشغول به کار هستید، باید آغوش خود را برای بازخورد و انتقاد باز کنید. وقتی صحبت از توانایی‌های شما می‌شود، بیش از حد اعتماد به نفس نداشته باشید. احتمالاً وقتی اعتماد به نفس بالایی پیدا کنید، بازخورد و انتقاداتی که از شما می‌شود را نادیده می‌گیرید. این واقعیت را به خاطر داشته باشید که مردم تمایل به نظر دادن دارند. اینکه چه کسی به شما بازخورد می‌دهد هیچ اهمیتی ندارد. از بازخوردی که می‌گیرید به عنوان فرصتی برای رشد استفاده کنید. این موضوع روشی آسان برای شناخت زمینه‌های پیشرفت شماست.

۴. در مورد تخمین‌ها واقع بین باشید

بیایید با این واقعیت روبرو شویم که تخمین زدن مدت زمان لازم برای تکمیل برخی از پروژه‌ها، یکی از سخت‌ترین کارها در زمینه توسعه نرم افزار است. گاهی اوقات الزامات به خوبی تعریف نشده‌اند یا به طور دائم در حال تغییر کردن هستند.

عقب ماندن از زمان تخمین زده شده امری همیشگی است. در رابطه با تخمین‌ها واقع بین باشید و بدانید که گاهی اوقات به طرز وحشتناکی اشتباه خواهید کرد. این هیچ ایرادی ندارد چون تخمین تنها حدس زدن حدودی یک مدت زمان است. تخمین‌ها مانند مهلت‌های زمانی نیستند. شما متعهد هستید که در مهلت زمانی مشخص شده فلان پروژه را تکمیل کرده و تحویل مشتری دهید.

یک ارتباط خوب می‌تواند مهمتر از یک برآورد درست باشد. وقتی بر روی یک پروژه بیش از زمان تخمین زده شده کار کرده‌اید، بهتر است با مشتریان خود در این باره گفتگویی داشته باشید.

۵. برنامه‌ریزی کنید

هرگز کدنویسی را بدون برنامه‌ریزی شروع نکنید. قبل از اینکه شروع به نوشتن اولین خط از کدهای خود کنید، باید بدانید که آن کد قرار است چه کاری را انجام دهد. در غیر اینصورت چه چیزی را کدنویسی می‌کنید؟ احتمالاً  بدون داشتن برنامه یا نقشه، کدهای شما حداکثر پتانسیل را نخواهند داشت و نتیجه‌ی این موضوع به وجود آمدن کدهایی پیچیده خواهد بود.

سوالات زیادی وجود دارد که قبل از ورود به مسیر برنامه‌نویسی باید از خودتان بپرسید. چگونه می‌توانید با این مشکل خاص مقابله کنید؟ چه ساختاری را پیاده خواهید کرد؟ اهداف کلی شما در پیاده‌سازی آن چیست؟

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

۶. کد خودتان را امتحان کنید

هیچ چیزی برای یک فرد تست‌کننده، ناامیدکننده‌تر از این نیست که کدی که الان وارد محیط آزمایش کرده‌اید، با اولین کلیک خراب شود. برای جلوگیری از این اتفاق باید کدهای خود را تست کنید. ترجیحاً می‌توانید این کار را با نوشتن تست‌های خودکار انجام دهید اما اگر حوصله‌ی این کار را ندارید، حداقل مطمئن شوید که به صورت دستی آن‌ها را امتحان می‌کنید.

دلیل اصلی کمبود حضور توسعه‌دهندگان در زمینه تست کد این است که اکثر آن‌ها تست کردن را دوست ندارند. این کار به زمان زیادی نیاز دارد، به همین خاطر آن‌ها ترجیح می‌دهند از این زمان برای نوشتن کدهای یک ویژگی جدید استفاده کنند. علیرقم این واقعیت که تست کردن کار مورد علاقه توسعه‌دهندگان نیست، اما هر توسعه دهنده از اهمیت این موضوع با خبر است. به زمان تست‌کننده‌ها احترام بگذارید چون وقت آن‌ها نیز به اندازه زمان شما ارزشمند است. بنابراین باید نظم داشته باشید تا بتوانید کدهای خود را آزمایش کنید.

۷. اینکه همه چیز را ندانید ایرادی ندارد

این واقعیت را مد نظر داشته باشید که دانستن تمام مسائل موجود در دنیای توسعه‌ی نرم افزار غیرممکن است. این بدین خاطر است که مطالب موجود برای یادگیری بسیار زیاد هستند. شما می‌توانید از این واقعیت که همه چیز را نمی‌دانید به نفع خود استفاده کنید. این را بدانید که ندانستن همه چیز نشانه‌ای از ضعف شما نیست. آگاه بودن به چیزهایی که نمی‌دانید می‌تواند به شما کمک کند تا بر روی دانسته‌های خود تمرکز کنید.

توانایی یادگیری سریع مسائل از دانستن همه چیز مهمتر است. شما نیازی به یادگرفتن تمام فریم‌ورک‌های خاص در دسترس ندارید. چیزی که ارزش دارد این است که بتوانید بعد از خواندن مستندات مربوط به یک فریم‌ورک فورا شروع به کار کنید.

۸. سعی کنید همه چیز را ساده نگه دارید

درک این موضوع که باید همه چیز را در کدهای خود ساده نگه دارید بسیار ساده است، اما عمل کردن به آن می‌تواند دشوار باشد. این مورد آنقدر اهمیت دارد که برای آن اسم مستعار (KISS) انتخاب کرده‌اند. این واژه مخفف جمله‌ی «آن را ساده نگه دار، احمق» است.

این نوع کدها ساده، سرراست و احمقانه در نظر گرفته می‌شوند. با این حال وقتی صحبت از برنامه‌نویسی می‌شود، توانایی نوشتن کدهای ساده و احمقانه می‌تواند یکی از بزرگترین ویژگی‌های یک توسعه دهنده باشد.

کدها فقط باید کاری که لازم است را انجام دهند. هیچ نیازی به قرار دادن مسائل پیچیده و گنگ در کدها نیست. وقتی صحبت از کدنویسی می‌شود، فانتزی نباشید. اگر بتوانید کدهای خود را تا حد امکان ساده نگه دارید، مزایای زیادی را هنگام خواندن و اصلاح آن‌ها تجربه خواهید کرد.

۹. ثبات و پیوستگی

ثبات و پیوستگی در زمینه توسعه نرم افزار امری واقعاً کلیدی است. گذر زمان نرم افزار را به تدریج خراب می‌کند و این یک واقعیت اجتناب ناپذیر است. این مشکل هم دقیقاً از همین جا سرچشمه می‌گیرد. هرچه یک نرم افزار بیشتر عمر کند و افراد بیشتری بر روی آن کار کنند، بی‌ثباتی و بی‌نظمی نیز در آن افزایش خواهد یافت.

تا زمانی که به طور مداوم یک کار را انجام دهید، نوع کاری که می‌کنید اهمیت نخواهد داشت. آیا تمام متغیرهای خود را با نگارش شتری بیان می‌کنید؟ این کار تا زمانی ایراد ندارد که شما برای بیان کردن متغیرهای خود به این روش پایبند بمانید. از نگارش ماری فقط به این خاطر که خواندن آن آسان است استفاده نکنید. این بدان معناست که شما باید به کنوانسیون‌های موجود در یک پروژه احترام بگذارید. کنوانسیون‌های استفاده شده در کدبیس را با تنظیمات دلخواه خود ادغام نکنید.

۱۰. گاهی اوقات میانبرها ضروری هستند

یک توسعه دهنده عالی می‌داند که چه زمانی مجاز به استفاده از میانبر است. شاید به نظر شما این کار نوعی تناقض باشد اما نوشتن کدهای رده متوسط هیچگونه ایرادی ندارد. شاید در برخی از مواقع، سریع و کثیف بودن روشی بهتر باشد؛ به عنوان مثال هنگامی که طول عمر کد کوتاه می‌باشد.

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

۱۱. مسئولیت اشتباهات خود را بر عهده بگیرید

اشتباهات در همه جا و همه وقت اتفاق می‌افتند؛ مخصوصاً اگر در یک تیم مشغول به کار باشید. اشتباه کردن اجتناب ناپذیر است و نباید خیلی شما را آزار دهد. اشتباه کردن تا زمانی خوب است که از آن درس بگیرید. به عنوان یک توسعه دهنده این متداول‌ترین روش برای رشد کردن است. فقط مطمئن شوید که اشتباهات خود را به عهده می‌گیرید.

وقتی همه چیز باب میل پیش نمی‌رود، به جای بهانه آوردن سعی کنید راه‌حل ارائه دهید. به این فکر کنید که چگونه می‌توانید اشتباه خود را برطرف کنید. با دیگران در مورد راهکارهای احتمالی گفتگو کنید و تقصیر را به گردن یکدیگر نیاندازید.

۱۲. چیزهای جدیدی را در این مسیر بیاموزید

ما به طور روزانه شاهد ظهور تکنولوژی‌های جدید هستیم و گاهی اوقات همگام ماندن با تمام ترندهای جدید امری دشوار به نظر خواهد رسید. بنابراین نباید هرگز از یاد گرفتن دست بکشید. روزی که دست از یادگیری بردارید، همان روزی است که رشد خود را متوقف کرده‌اید.

یادگیری چیزهای جدید تنها راه همگام ماندن در عصر تکنولوژی امروز است. بروس لی گفته است:« یادگیری یک فرایند مداوم در جهت کشف کردن است و این فرایند پایانی ندارد.»

13. وظایف تکراری را اتومات کنید

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

۱۴. در استفاده از ابزارهای خود ماهر شوید

هر محصولی شامل مجموعه‌ای از ابزارهایی است که برای انجام کار مورد نیاز است. این موضوع در توسعه نرم افزار بسیار صدق می‌کند. جف بیزوس می‌گوید:« ما ابتدا ابزارهای خود را تغییر می‌دهیم و سپس ابزارهایمان ما را تغییر می‌دهند.»

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

وقتی در مورد ابزارها صحبت می‌کنیم، تصمیمات بسیاری برای گرفته شدن وجود خواهند داشت؛ از پلاگین‌های مرورگر گرفته تا ابزارهای خط فرمان و IDE شما. هنگامی که مجموعه ابزار خود را انتخاب کردید، وقت بگذارید و آن‌ها را امتحان کنید. سپس سعی کنید در استفاده از تک تک آن‌ها مهارت لازم را کسب کنید.

منبع

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
علیرضا داداشی @Pemi.razmi
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو