توسعه نرم افزار یک زمینه پیچیده و پویا است. تعداد بی نهایت چیز برای دانستن وجود دارد و پیشرفت های جدید در فناوری هر روز اتفاق می افتد. در نتیجه، گم شدن یا غرق شدن در تمام اطلاعات جدیدی که روزانه به شما می رسد، بسیار آسان است. برای رقابتی ماندن به عنوان یک توسعه دهنده نرم افزار، مهم است که بهرهوری داشته باشید – اما واقعاً این به چه معناست؟ این مقاله به بررسی این موضوع میپردازد که چگونه بهرهوری بیشتر میتواند تأثیر زیادی بر حرفه شما به عنوان یک توسعهدهنده نرمافزار داشته باشد!
به عنوان یک توسعه دهنده، شما باید مولد باشید تا در رقابت باقی بمانید. یک راه خوب برای فکر کردن در مورد بهره وری این است که تأثیر کار خود را بر شخص دیگری در نظر بگیرید – خواه کارمند، مدیر یا مشتری دیگری باشد. وقتی کاری را در محل کارتان تمام می کنید (یک برنامه، مستندات، طرح آزمایش)، آیا این کار زندگی دیگران را آسان تر می کند؟ با فکر کردن همیشه به این شخص و اینکه نتیجه کار شما چگونه بر او تأثیر می گذارد، می توانید تعیین کنید که زمان و انرژی خود را در هنگام انجام یک کار کجا صرف کنید.
سازنده بودن به این معنی است که یک توسعهدهنده نرمافزار وظایف را به شیوهای سریع و کارآمد انجام میدهد، در حالی که همچنان کیفیت کار را حفظ میکند (و هیچ گونه خطا/ نقصی در کار شما ندارد). کیفیت همیشه مهمتر از سرعت است – هیچکس نمیخواهد با توسعهدهندهای کار کند که کار پشت سر هم شلخته و نادرست انجام میدهد. توسعهدهندهای که سازنده باشد، کارها را به سرعت انجام میدهد، بدون اینکه کیفیت یا دقت را از دست بدهد.
راه های زیادی وجود دارد که می توانید امروز متمرکز بمانید و بهره وری را در محل کار افزایش دهید! در اینجا برخی از نکات مورد علاقه من وجود دارد:
دلایل زیادی وجود دارد که چرا نوشتن کد قابل اعتماد و با کیفیت به عنوان یک توسعه دهنده نرم افزار مهم است (از جمله این واقعیت که تضمین می کند زمان کمتری برای عیب یابی نیاز است)، اما یکی از دلایل اصلی این است که محصول/برنامه شما دوام خواهد داشت. طولانی تر اگر کیفیت عالی داشته باشد و در جای خود تست شود! هنگامی که هیچ نقص یا خطایی در یک برنامه وجود ندارد، چیزی وجود ندارد که نیاز به رفع یا انجام مجدد داشته باشد. اگر مطمئن هستید که برنامه شما نمی تواند شکست بخورد، می توانید مطمئن باشید که بدون نیاز به ایجاد تغییرات در پایگاه کد، سال های بیشتری دوام خواهد آورد.
بر اساس تجربه شخصی من، در زیر چند نکته برای بهبود بهره وری شما آورده شده است.
به عنوان یک توسعه دهنده، یکی از اصلی ترین چیزهایی که روی آن تمرکز می کنید نوشتن کد است – و هیچ ایرادی در این وجود ندارد! با این حال، گاهی اوقات ما درگیر نوشتن می شویم و فراموش می کنیم که کد قدیمی خود را زمانی که دیگر مورد نیاز نیست حذف کنیم. این، یافتن چیزها را بعداً سختتر میکند، زیرا اکنون کد در همه جا وجود دارد و هیچکدام از آن به وضوح مستند نیست. آنچه را که ضروری نیست حذف کنید تا توسعه دهندگان آینده (یا خودتان!) برای پیمایش پروژه کار سختی نداشته باشند. همچنین قبل از نوشتن هر کدی به نوشتن شبه کد فکر کنید. این امر احتمال خطا و کدهای غیر ضروری را کاهش می دهد.
بهعنوان یک توسعهدهنده نرمافزار، نوشتن تستهایی برای شما مهم است که هر زمان که تغییراتی در پایگاه کد ایجاد میکنید – این کار هم تضمین میکند که ویژگیهای جدید همانطور که در نظر گرفته شده است کار میکنند و هم مستنداتی در مورد موارد اضافه/تغییر شده ارائه میدهد. وقتی آزمایش خودکار قبل از انجام هر نوع «بازبینی کد» انجام نمیشود، هیچ چیزی مانع از آن نمیشود که توسعهدهنده دیگری کد غیرضروری بیشتری اضافه کند، زیرا از آنچه قبلاً وجود داشته آگاه نبوده است. نرم افزار باید اول برای انسان نوشته شود و بعد کامپیوتر!
توسعه مبتنی بر آزمایش در چند سال اخیر به طور فزاینده ای محبوب شده است، و دلیل خوبی برای این وجود دارد! هنگامی که فرآیند TDD را دنبال می کنید، قبل از نوشتن هر کد واقعی، تست هایی را می نویسید (برای اجرای خودکار در برابر کد شما). این بدان معناست که وقتی نوشتن آزمون را تمام کردید، برنامه شما دقیقاً همانطور که در نظر گرفته شده بود با ایجاد همه شرایط مورد انتظار کار می کند.
اگرچه همه برنامهنویسها ترجیحات یکسانی در مورد اینکه چه نوع ویرایشگر متن یا IDE را میخواهند برای پروژههای خود استفاده کنند، ندارند، برخی از ابزارها میتوانند زندگی ما را هنگام نوشتن کد بسیار آسانتر کنند! برنامه نویسانی که اغلب بین زبان های مختلف جابجا می شوند ممکن است از استفاده از IDE بر روی یک ویرایشگر متن ساده سود ببرند زیرا IDE ها معمولاً دارای ویژگی های تکمیل خودکار و برجسته سازی نحو پیشرفته هستند.
پسوندهای نحوی افزونههایی هستند که برای ویرایشگر متن یا IDE شما ساخته شدهاند که میتوانند نوشتن کد را بسیار آسانتر کنند! به عنوان مثال، برخی از برنامههای افزودنی نحو ممکن است بسته به نوع زبانی که استفاده میکنید از ویژگیهای تکمیل خودکار پشتیبانی کنند (PHPStorm یک IDE محبوب با بسیاری از پسوندهای تکمیل خودکار موجود برای PHP است)، در حالی که سایر پسوندهای اختصاصی IDE میتوانند بهطور خودکار فایلهای پروژه را تولید کنند، اگر این کار را نکنید. بسیاری از توسعه دهندگان نرم افزار متوجه می شوند که هرچه ویرایشگر متن آنها قابل برنامه ریزی باشد، بهره وری بیشتری خواهند داشت!
بهعنوان یک توسعهدهنده نرمافزار، برای شما مهم است که دانش و زبانهای برنامهنویسی و ابزارهایی را که استفاده میکنید بهروز نگه دارید تا در شغل فعلی و آینده خود بهرهوری بیشتری داشته باشید. اگر دوست ندارید مقالهها را در یک وبسایت بخوانید، عناوین کتابهای زیادی نیز وجود دارند که میتوانند اطلاعات مفیدی را ارائه دهند – مانند «Python: The Right Way» یا «Clean Code». علاوه بر این، اگر به دنبال چیز خاصی هستید، وبلاگ ها پر از محتوای عالی هستند! Stackoverflow انقلابی در نحوه دریافت کمک افراد برای مشکلات توسعه خود ایجاد کرده است، بنابراین تمرین خوبی برای توسعه دهندگان است که سایت را مرتب بررسی کنند!
شما یاد می گیرید که چگونه هر روز با یک زبان برنامه نویسی یا فریم ورک جدید کار کنید، درست است؟ شما همیشه به طور تصادفی با چیز جدیدی روبرو می شوید که می تواند شما را سازنده تر کند. ترفند این است که یاد بگیرید چگونه سریع کار کنید بدون اینکه در جزئیات کاری که انجام می دهید گرفتار شوید. اگر برای اولین بار از یک فناوری استفاده می کنید، این می تواند سخت باشد، زیرا به شما نیاز دارد که زمان بیشتری را برای تنظیم محیط خود و یادگیری نحو زبان اختصاص دهید.
در برخی موارد، این به دلیل بهره وری شما نیست، بلکه به این دلیل است که زمان لازم برای تکمیل یک کار را دست کم گرفته اید. همه همیشه فکر می کنند که می توانند کارها را سریعتر از آنچه واقعا می توانند انجام دهند. این ممکن است به این دلیل باشد که ما بازیهای رایانهای انجام میدهیم، اغلب از رسانههای اجتماعی بازدید میکنیم، یا حتی فقط در مورد اینکه دوست داریم نرمافزارمان چگونه کار کند، خواب میبینیم. دلیل هر چه که باشد، مهم است که بفهمید کارها واقعا چقدر طول می کشد تا بتوانید زمان خود را بهتر بودجه بندی کنید. دو راه برای انجام این کار وجود دارد: یا یادداشت میکنید زمانی که کارها برای اولین بار آنها را شروع میکنید چقدر زمان میبرند، یا – اگر از قبل میدانید – به عقب برگردید و بفهمید که چقدر طول میکشد. برای پیگیری پیشرفت خود از تایمر استفاده کنید
گاهی اوقات ممکن است به نظر برسد که نیازی به بررسی غلط املایی یا اشتباه ندارید. برخی از توسعه دهندگان حتی ممکن است فکر کنند نوشتن نظرات خوب اتلاف وقت و تلاش است. با این حال، انجام این پیشرفتهای کوچک میتواند به همکاران شما کمک کند که فکر نکنند: “اوه، ای کاش آنها کد خود را بهتر مینوشتند”. شما نمی خواهید مقاله ای با غلط املایی یا گرامر ضعیف بخوانید ، پس چرا کدهای گیج کننده بنویسید؟
این به شما کمک میکند تا از بازگشت به یک کار/ویژگی قبلی فقط برای توضیح منطقی که در پس آن کار میکند جلوگیری کنید
اگر روی یک ویژگی بزرگ کار میکنید، بهروزرسانیهای کوچکتر را به ذینفعان خود ارائه دهید. این نه تنها انگیزه شما را حفظ میکند، بلکه به شما کمک میکند بازخورد به موقع دریافت کنید و مجبور نباشید همه چیز را از بین ببرید و تازه شروع کنید.
گاهی اوقات برنامه نویسان وقتی بر روی یک کار/پروژه خاص تمرکز می کنند، همه چیزهای دیگری را که در اطرافشان اتفاق می افتد فراموش می کنند. این بدان معنی است که آنها ممکن است متوجه نشوند که چقدر زمان صرف انجام آن یک کار کرده اند تا زمانی که خیلی دیر شود. برای جلوگیری از این مشکل، همیشه کارهایی را که روی آن کار میکنید پیگیری کنید و کارهایی را که برای سایر توسعهدهندگان برای تکمیل وظایفشان لازم است، اولویتبندی کنید، یعنی وظایف آنها به وظایف شما بستگی دارد. با پایان دادن به چنین وظایفی از قبل، تحت فشار کمتری قرار می گیرید و برای انجام کاری مورد آزار و اذیت کسی قرار نمی گیرید.
شاید به طور مکرر کیت کت نداشته باشید اما هر ساعت یا بیشتر استراحت کنید. گرفتار شدن و صرف ساعت ها برای کدنویسی آسان است. اما هیچ ویژگی ارزش فدا کردن سلامتی خود را ندارد. گاه به گاه استراحت کنید، به من اعتماد کنید که برای شما مفید خواهد بود.
امیدوارم این مقاله برای شما مفید بوده باشد. نکات خود را در مورد چگونگی بهره وری خود و کارهایی که برای بهبود بهره وری خود انجام می دهید به اشتراک بگذارید.