شاید افراد زیادی باشند که با علم یا هنر کدنویسی آشنا باشند اما اساساً همهٔ آنها برنامهنویسان موفقی نیستند! بنابراین اگر به برنامهنویسی به عنوان یک هنر نگاه کنیم، این عادات درست و نادرست برنامهنویسان است که فرق بین بَد، خوب و عالی بودن را برای دولوپرها رقم میزند. در این حوزه، همواره عادات نادرستی وجود دارند که حتی ممکن است برنامهنویسان باتجره نیز به آنها دچار باشند و به همین دلیل همواره از جایگاهی که در هنر برنامهنویسی میتوانستند داشته باشند محروماند. در این مقاله ۳۵ مورد از این عادات نادرست را مطرح نمودهایم که ترک آنها میتواند به پیشرفت هرچه سریعتر شما در صنعت توسعهٔ نرمافزار کمک کند.
۱. طوری رفتار میکنید که گویا جواب همهچیز را میدانید
به عنوان یک دولوپر، ممکن است گاهی اوقات با شرایط واقعاً عجیبوغریب و پیچیدهای روبهرو شوید به طوری که ممکن است با تکنولوژیهای جدید و در حال پیشرفت سروکار داشته و موقعیتهایی را تجربه کنید که از درک آنها عاجز باشید. در چنین شرایطی، بهتر است به جای داشتن افکار آرمانگرایانه، واقعگرا باشید و بپذیرید که راهحل فلان مشکل خاص را نمیدانید و این در حالی است که با پذیرفتن این موضوع، احساس راحتی بیشتری داشته و خواهید توانست فارغ از فشارهای روانی، به دنبال راهحلی برای مسئلهٔ موجود بگردید.
۲. وقتی کسی کد شما را نقد میکند، حالت تدافعی به خود میگیرید
دولوپرهایی که تمایل به پیشرفت دارند، یکی از بهترین و سریعترین روشها در این حوزه را پذیرش انتقادات دولوپرهای باتجربهتر از خود میدانند. فرایند توسعهٔ نرمافزار همواره با تصمیمگیریهای متعدد همراه میباشد به طوری که گاهی ممکن است کدهایی که نوشتهاید خوب کار کنند اما هنوز هم راههایی برای بهتر کردن آنها وجود داشته باشد که تاکنون به ذهن شما نرسیدهاند. دولوپرهای حرفهای همواره مشتاق شنیدن نظرات دیگران در مورد کدهای خود هستند و سعی دارند تا با استفاده از نظرات و انتقادات دیگران، راههایی برای بهبود کدهای خود بیابند.
۳. تمام روز را در جلسات مختلف سپری میکنید
همچنان که در حال پیشرفت و تبدیل شدن به یک دولوپر حرفهای هستید، ممکن است جلسات بیشتر و بیشتری در برنامهٔ کاری روزانهٔ شما قرار بگیرد که اگر میخواهید واقعاً برنامهنویس خوبی شوید، باید تا حد ممکن از شرکت در جلسات غیرضروی خودداری نموده و تایم خود را بیشتر به کارهای فنی اختصاص دهید.
۴. خیلی زود ناامید میشوید
اگر راهحل مشکلی را بدانید، روبهرو شدن با آن مشکل خیلی ساده خواهد بود اما مهم این است که وقتی نمیدانید چه زمانی موفق به حل مشکلی میشوید، ناامید نشوید چرا که هر لحظه ممکن است به راهحل آن دست پیدا کنید (شاید دو دقیقهٔ بعد، شاید دو ساعت بعد، شاید دو روز بعد و شاید هم بیشتر! اما بالاخره پاسخ را خواهید یافت.)
۵. نمیخواهید از کسی کمک بگیرید
اصلاً چیز عجیبی نیست که برنامهنویسان پاسخ تمام سؤالات را ندانند و این کاملاً طبیعی است. یک دولوپر واقعاً خوب میداند که چهزمانی باید از سایر اعضای تیم درخواست کمک نموده و از دانش آنها بهره بگیرد و یکی از ملزومات کمک خواستن از دیگران این است که یاد بگیرید چهطور کمک بخواهید!
در این رابطه، باید کل مسأله و تمام جزئیات مرتبط با آن را برای دیگران توضیح دهید تا آنها بهتر بتوانند به شما کمک کنند. حتی ممکن است در حین شرح دادن جزئیات مسئله برای دیگران، خودِ شما درک درستتری از مسأله به دست آورده و بتوانید به تنهایی آن را حل کنید (اصطلاح Rubber Duck Debugging یا «دیباگ کردن به سبک اُردک پلاستیکی» نیز به همین مسئله اشاره دارد که طی آن مشکل موجود را با صدای بلند برای شخص دیگری توضیح میدهید، حتی اگر این شخص یک موجود زنده نبوده و فقط یک اسباببازی مثل اردک پلاستیکی باشد، که در حین توضیح دادن ممکن است خودِ شما موفق به شناسایی علت ایجاد این مشکل شده و راهحل آن را بیابید.)
۶. برای اشتباهات خود دیگران را مقصر میدانید
معمولاً دولوپرهایی مورد احترام دیگران قرار میگیرند که مسئولیت کدهای نوشتهشدهٔ خود را تماموکمال بر عهده میگیرند. بنابراین اگر مشکلی در کدهای شما وجود دارد، آن را پذیرفته و علتش را هم کشف نموده و راهی بیابید که این مشکل در آینده دوباره تکرار نشود.
۷. به دیدگاههای دیگران اهمیتی نمیدهید
یکی از بهترین راههای یادگیری کدنویسی، برنامهنویسی دونفره است بدین صورت که به همراه یک برنامهنویس باتجربهتر، کدنویسی کنید. در طی این روند، درک خواهید کرد که افراد مختلف دیدگاههای مختلفی در مورد بهبود کدها دارند. به طور کلی، دولوپرهای خوب همواره نظرات دیگران را در مورد کدهای خود جویا میشوند (برای آشنایی بیشتر با برنامهنویسی دونفره، به مقالهٔ آیا میدانستید که برنامهنویسی دونفره میتواند شما را به برنامهنویس ماهرتری تبدیل کند؟ مراجعه نمایید).
۸. بیش از حد لازم به کدهای خود شاخ و برگ میدهید
ممکن است گاهی اوقات آنقدر برای بهینه کردن کدهای خود وقت بگذارید و آنقدر به آنها شاخ و برگ بدهید که ناخواسته به جای بهینهتر شدن، پیچیدهتر شوند! این کار فقط باعث افزایش احتمال وقوع باگها و همچنین سردرگمی دولوپرهایی میشود که پس از شما بر روی این کدها کار خواهند کرد. بنابراین، به عنوان یک قانون کلی، هیچوقت به دنبال راهحلهای پیچیده نباشید به طوری که در بیشتر مواقع، بهترین راه بهینهسازی کدها در واقع همان مستقیمترین و سادهترین راهی است که میتوان با آن مسأله را حل نمود.
۹. ذهن تحلیلی ندارید
بعضی از مواردی که موجب بروز مشکل در اغلب اپلیکیشنهای امروزی میشود عبارتند از پیچیدگی در الگوریتمها، عملکرد ناکارآمد دیتابیس، کار با ایپیآیهای مختلف، کوئریهای زیاد و غیره. البته موارد مشکلآفرین دیگری نیز وجود دارند که به آنها اشارهای نکردیم اما شما به عنوان یک دولوپر خوب باید با ذهنی تحلیلی موقعیت ایجاد شده را تجزیه و تحلیل نموده، تشخیص دهید که عامل مشکلزا کجا است و چهطور میتوان آن را برطرف کرد.
۱۰. به روابط خود با سایر اعضای تیم به اندازهٔ کافی بها نمیدهید
درست است که شما برای کدنویسی استخدام شدهاید، اما لازم است با دیگر اعضای گروه نیز در ارتباط باشید (این افراد ممکن است سایر دولوپرهای تیم، افراد غیرمتخصصی که از نزدیک با آنها سروکار دارید و اعضایی از تیم که ارتباط نزدیکی با آنها ندارید را شامل شوند.) روابط شما با سایر اعضای تیم از نوشتن چند خط کد بیشتر، به مراتب مهمتر است و از همین روی گاهی لازم است چند خط کد را فدای ساختن و تحکیم روابط خود با اعضای تیم نموده و برای گسترش روابط خود وقت بگذارید.
۱۱- درگیر سیاستهای شرکت هستید
اساساً پس از ورود به بازار کار، تحتتأثیر سیاستهای کلان شرکتها قرار میگیریم و بدین ترتیب ممکن است دیدگاه تیم از «ما باید بهترین باشیم» به «ما باید از تیم فلان شرکت بهتر باشیم» تغییر کند و این موضوع به نوبهٔ خود میتواند باعث اُفت عملکرد و کاهش بهرهوری تیم شود.
۱۲. در شرایط پراسترس نمیتوانید تصمیمگیری کنید
ممکن است تاکنون شرایط پراسترس مختلفی را تجربه کرده باشید؛ مثلاً ممکن است تغییری در یکی از فانکشنها داده باشید که باعث شده باشد آن فانکشن دیگر کار نکند و به این ترتیب زمینهٔ نارضایتی صدها و یا شاید هزاران کاربر را فراهم نموده باشید و یا ممکن است در شرایطی مجبور بوده باشید در مورد انتقال از یک سیستم به سیستم دیگر که مستلزم چندین ساعت Down بودن سرویس باشد، تصمیم بگیرید.
وقتی در موقعیتهایی قرار میگیرید که تصمیمگیری شما ممکن است موجب اختلال در کار کاربران شود، استرس زیادی را متحمل میشوید و بسیاری از دولوپرها در این شرایط عصبی شده و قدرت تصمیمگیری خود را از دست میدهند! اگر میخواهید خود را به عنوان یک دولوپر قوی و ارزشمند به دیگران بشناسانید، باید مهارت کار در شرایط پراسترس را به دست آورید چرا که این بخشی لاینفک از زندگی دولوپری است که روی پروژههای بزرگ کد میزند.
۱۳. نمیتوانید بپذیرید که بعضی از کدهایتان عالی نباشند
همیشه نمیشود کدهای عالی و بینقص نوشت زیرا در دنیای واقعی گاهی لازم است به نوشتن کدهای معمولی و حتی شاید بَد هم راضی شد! گاهی اوقات در موقعیتهایی که فرصتی تا زمان تحویل کار باقی نمانده، برای برخی بررسیها و همچنین به منظور رفع فوری اشکالات لازم است با کدهایی که عالی نیستند هم کنار بیایید. بهتر است بدانید که گاهی برای دستیابی به اهداف فوری، لازم است ذهنیت کمالگرای خود را کنار بگذارید.
۱۴. بیش از حد اهل مهندسی کردن هستید
اغلب مشکلات ساده، راهحلهای سادهای هم دارند و این در حالی است که اگر بیش از حد اهل مهندسی کردن باشید، ممکن است یک مشکل ساده را به یک مشکل پیچیده و دشوار تبدیل کنید. گرچه گاهی اوقات ارائهٔ راهحلهای پیچیده برای مشکلات ساده میتواند جالب و لذتبخش باشد و نکات جدیدی را برای شما آشکار کند اما دولوپرهای خوب معمولاً از ارائهٔ پاسخهای پیچیده برای سؤالات ساده خودداری میکنند (در همین راستا، توصیه میکنیم به مقالهٔ آیا میدانستید که مهندسین نرمافزار و برنامهنویسان چه تفاوتهایی با یکدیگر دارند؟ مراجعه نمایید.)
۱۵. مهارتهای لیدرشیپ ندارید
رئیس بودن شما کمک زیادی به پیشرفت تیم نخواهد کرد. در واقع، شما باید یاد بگیرید که به جای ریاست، تیم را رهبری (لیدرشیپ) کنید و کسی باشید که سایر اعضای تیم برای راهنمایی گرفتن، رفع مشکلات و اظهارنظر به وی مراجعه میکنند. البته نیاز به توضیح نیست که رسیدن به چنین جایگاهی به تلاش و صرف زمان کافی نیاز دارد (برای کسب اطلاعات بیشتر پیرامون تفاوتهای ریاست و رهبری، میتوانید به مقالهٔ مدیریت یا رهبری: مسئله این است! مراجعه نمایید.)
۱۶. از ابزار مناسب استفاده نمیکنید
دولوپرهای حرفهای همواره تلاش میکنند تا از تکنولوژیها، زبانهای برنامهنویسی و فریمورکهای متناسب با کار خود استفاده کنند؛ لذا سعی کنید به جای این دیدگاه که «این روش رو بلدم، پس از همین استفاده میکنم»، به دنبال یافتن مناسبترین ابزار برای کار خود باشید؛ حتی اگر لازم شد، چیزهای جدیدی بیاموزید و شکی به خود راه ندهید که با اتخاذ چنین سیاستی، در طولانی مدت میتوانید به دولوپر موفقتری تبدیل گردید.
۱۷. با ابزارهای مورد استفادهٔ خود آشنایی کامل ندارید
شما به عنوان یک دولوپر، ساعتهای زیادی را صرف کار با تکست ادیتورها، کامندلاین و سایر ابزارهای کدنویسی میکنید و با این حساب، باید بر جنبههای مختلف این ابزارها کاملاً مسلط باشید. دولوپرهای حرفهای، بر ابزارهای مورد استفادهٔ خود و ترفندهای کدنویسی مرتبط با آنها کاملاً آشنا هستند.
۱۸. در مورد سؤالات برنامهنویسی خود دست به سرچ نیستید
در لیست وبسایتهای کاربردی برای برنامهنویسان، گوگل و استک اورفلو جزو قدرتمندترین ابزارها به شمار میآیند. در اغلب موارد، وقتی به مشکلی برمیخورید و یا نمیتوانید چیزی را درست درک کنید، با جستجو در گوگل و سایر سایتهایی که برای این منظور در نظر گرفته شدهاند میتوانید جواب خود را بیابید و مشکل را برطرف کنید و از همین روی، کار کردن روی مهارتهای جستجوی خود میتواند به موفقیت بیشتر شما بینجامد.
۱۹. از ارورها گریزانید
وقوع ارورها در پروسهٔ توسعهٔ نرمافزار ناگزیر است و اصلاً نمیتوان گفت که این چیز بدی است. ارورها به شما میگویند که چه مشکلی وجود دارد، چرا فلان مشکل ایجاد شده و کدام خط کد این مشکل را ایجاد نموده است. بنابراین ارورها میتوانند به عنوان ابزاری مفید مورد استفاده قرار گیرند و به شما در حل و جلوگیری از تکرار مشکلات، کمک کنند.
۲۰. ساعتی کد میزنید
دولوپرهای خوب به طور کلی از کدنویسی لذت میبرند و عاشق این کار هستند و ایشان حتی هنگامی که جلوی سیستم خود نیستند نیز در حال فکر کردن به مشکلات و مسائل کدهای خود بوده و در آنها غرق میشوند و از همین روی، اصلاً متوجه گذر زمان نیستند. بنابراین محاسبهٔ ساعاتی که صرف نوشتن کد میکنند برای ایشان چیز ملموسی نیست بلکه صرفاً این خروجی کار است که برایشان حائز اهمیت است.
۲۱. از اشتباهات خود درس نمیگیرید
دولوپرهای تراز اول نه تنها از اشتباه کردن نمیترسند، بلکه بیش از دولوپرهای معمولی اشتباه میکنند! اینکه سعی کنید هیچوقت اشتباه نکنید، خود اشتباه دیگری است. وقتی مرتکب اشتباهی میشوید، سعی کنید خود را زیاد درگیر آن نکنید و در عوض دنبال پاسخ سؤالات زیر بگردید:
- دلیل اصلی رخ دادن این اشتباه چه بود؟
- برای جلوگیری از تکرار این اشتباه و اشتباهات مشابه آن در آینده چه اقداماتی باید انجام دهم؟
- چگونه میتوانم مشکلاتی از این دست را زودتر تشخیص دهم تا اثر آنها به حداقل برسانم؟
اگر از اشتباهات خود درس نگیرید، به احتمال زیاد در آینده دوباره آنها را تکرار خواهید کرد و همین مسئله از اعتبار شما به عنوان یک دولوپر حرفهای خواهد کاست.
۲۲. از ورژن کنترل استفاده نمیکنید
امروزه استفاده از ورژن کنترل در شرکتهای نرمافزاری و حتی برای دولوپرهای فریلنسر به یک باید تبدیل شده است. خیلی اوقات در برنامهنویسی پیش میآید که نیاز داریم تا کدهایی که چند ماه پیش و یا حتی چند سال پیش نوشتهایم را مورد استفاده قرار دهیم و سیستمهای ورژن کنترلی همچون Git، ابزار خوبی برای پاسخگویی به چنین نیازی هستند (برای کسب اطلاعات بیشتر، به مقالهٔ Version Control چیست و Git چگونه کار میکند؟ مراجعه نمایید.)
۲۳. عاشق ابزارهایی هستید که به استفاده از آنها عادت دارید
یک دولوپر ممکن است عاشق یک ادیتور خاص باشد و دولوپر دیگری از همان تکست ادیتور خاص متنفر بوده و عاشق نرمافزار دیگری باشد اما دولوپرهای باتجربه در مورد هیچ ابزاری عاشقانه و متعصبانه برخورد نکرده و در عوض سعی میکنند تا خود را با شرایط و امکانات محیط وفق دهند.
۲۴. از تعامل با جامعهٔ برنامهنویسی اجتناب میکنید
جوامع و انجمنهای برنامهنویسی در همهجا وجود دارند. حتی اگر نتوانید در دنیای واقعی به یکی از رویدادهای مرتبط با زبان برنامهنویسی مورد علاقهٔ خود دست پیدا کنید، حتماً در دنیای مجازی امکان دسترسی و عضویت در این انجمنها امکانپذیر خواهد بود که با این تفاسیر، دیگر هیچ بهانهای برای عدم تعامل با جامعهٔ برنامهنویسان زبان مورد نظر خود ندارید. با این حال، اگر باز هم اصرار دارید از جامعه به دور باشید، لااقل ویدئوهای ضبط شده و یا آنلاین مرتبط با رویدادهای مرتبط مورد علاقهٔ خود را در یوتیوب دنبال کنید تا از تحولات و آیندهٔ فناوریهای مورد استفادهٔ خود با خبر شوید و از دنیا عقب نمانید (در همین راستا، توصیه میکنیم به مقالهٔ معرفی لیستی از کانالهای مرتبط با کدنویسی در YouTube مراجعه نمایید.)
۲۵. در شبکهٔ اجتماعی توییتر حضور ندارید
توئیتر شبکهٔ اجتماعی مفیدی برای دولوپرها است و توسعهدهندگان پروژههای بزرگ اپنسورس در توئیتر حضور دارند و دیدگاههای خود را در مورد روندهای دنیای برنامهنویسی ارائه میدهند. ارتباط با این افراد میتواند هم در زمینهٔ علمی به شما کمک کند و هم به نوعی به شما انگیزهٔ پیشرفت بدهد. از سوی دیگر، حضور در #شبکههای اجتماعی اینچنین باعث میشود تا شما نیز در دسترس سایر افراد قرار بگیرید و دیگران بتوانند با شما تعامل داشته باشند و همین ارتباطات کوچک میتواند فرصتهای زیادی را در اختیار شما بگذارد.
۲۶. دِین خود را به جامعه ادا نمیکنید
به عنوان دولوپری که فقط مصرفکنندهٔ صرف نیست، باید به کامیونیتی زبان یا فناوریهای دیگر مورد استفادهٔ خود مراجعه کرده و تجربیات و دانستههای جدید خود را در اختیار دیگران قرار دهید. همچنین میتوانید در تکمیل و یا افزودن فیچرهایی به پروژههای اپنسورسی که استفاده میکنید نقش پررنگی ایفا کنید و بدین ترتیب حوزهای که در آن مشغول به کار هستید را به چیزی که آرزو میکردید باید باشد، تبدیل کنید.
۲۷. چیزی را مستند نمیکنید
این روزها با انجام یک جستجو در وب، تقریباً در زمان کوتاهی میتوان به راهحل هر مشکلی دست یافت زیرا افرادی از قبل با آن مشکلات مواجه شدهاند، آنها را حل نموده و سپس راهحلشان را در وبلاگ یا وبسایت شخصی خود، انجمنها، تالارهای گفتگو و … در اختیار دیگران قرار دادهاند. با این حال، گاهی ممکن است با مشکلی مواجه شوید که کسی تاکنون راهحلی برای آن ارائه نکرده و اکنون این وظیفهٔ شما است تا پس از صرف ساعتها وقت و یافتن راهحل، آن را در اختیار دیگر دولوپرهایی قرار دهید که شاید بعدها با این مشکل مواجه شوند.
۲۸. در کامنت نوشتن افراط و تفریط دارید
کامنتنویسی رفتاری حرفهای در صنعت توسعهٔ نرمافزار محسوب میگردد و کامنتها به دولوپرهایی که در آینده کد شما را میبینند کمک میکنند تا آن را بهتر و سریعتر درک کنند؛ اما در کامنتنویسی هم اندازه نگاه داشتن ضروری است. اگر برای هر خط از کد خود کامنت بنویسید، نه تنها به سادهتر شدن درک آن کمکی نمیکنید بلکه آن را پیچیدهتر هم میکنید! از سوی دیگر، کامنتنویسی در برخی موارد بسیار ضروری است و ننوشتن آن باعث پیچیدگی درک کد میشود. بنابراین فقط در جاهایی که فکر میکنید نوشتن کامنت ضروری است و یا میتواند درک کد را برای دیگران سادهتر نماید، کامنتگذاری کنید (برای کسب اطلاعات بیشتر در این باره، به مقالهٔ آیا روش مورد تأییدی برای کامنتگذاری در کدها وجود دارد؟ مراجعه نمایید.)
۲۹. با مدیر پروژهٔ خود اصطلاحاً سینک نیستید
شرکتهای حرفهای از یکسری سیستمهای تیکتینگ برخوردارند که در آن تَسکهای مرتبط با یک پروژه و زمان انجام هر کدام مشخص شده و این سیستمها به نوعی فصل مشترک مدیر پروژه با دولوپرها هستند. یکی از ویژگیهای دولوپرهای غیرحرفهای این است که به چنین سیستمهایی اعتقاد نداشته و در صورتی که تَسک خاصی را به اِتمام برسانند، اقدام به آپدیت وضعیت تَسک مد نظر نکرده و همین مسئله مدیر پروژه را برای برنامهریزی روزهای آینده دچار سردرگمی میکند که در نهایت منجر به ایجاد اختلال در زمان لانچ پروژه میشود.
۳۰. عدم توانایی در اولویتبندی تَسکهای پروژه
هر پروژهٔ نرمافزاری از تعدادی ماژول مختلف تشکیل شده است که برخی از آنها جزو ماژولهای زیربنایی هستند؛ به عبارت دیگر، سایر بخشهای نرمافزار وابسته به این دست ماژولها بوده و تکمیل و دیباگینگ آنها باید در اولویت باشد. در عین حال، برخی دولوپرهای مبتدی صرفاً به این دلیل که این ماژولهای زیربنایی تاحدودی پیچیده هستند و کدنویسی آنها مستلزم صرف زمان بیشتری است، کدنویسی آنها را شروع نکرده و فوراً به سراغ کارهای سادهتر میروند که همین مسئله ایشان را در آیندهای نه چندان دور در فرایند تکمیل چنین پروژهای به دردسر خواهد انداخت.
۳۱. عجولانه تصمیم میگیرید
در حین توسعهٔ نرمافزارها ممکن است بارها و بارها با مشکلات و موقعیتهای پیشبینی نشدهای مواجه شوید که در چنین مواقعی، شما به عنوان یک دولوپر حرفهای باید بتوانید موقعیت پیش آمده را مدیریت نموده و مشکل را برطرف کنید اما اگر از ابتدا برنامهٔ مشخصی را برای خود و تیمتان در نظر نگرفته باشید، در چنین مواقعی ممکن است تصمیمات کاملاً نادرستی بگیرید و تمام زحمات قبلی را به هدر دهید!
بنابراین همواره سعی کنید برنامهای مُدون برای هدایت روند توسعهٔ نرمافزار داشته باشید تا با وقوع یک مشکل پیشبینی نشده، میدان را خالی نکرده و همهچیز را رها نکنید. مطمئن باشید در مواجهه با مشکلات پیشبینی نشده نیز به جای نادیده گرفتن کارهای انجام شده، میتوانید واکنشهای خیلی بهتری از خود نشان دهید.
۳۲. پس از افزودن کدهای جدید سیستم را چک نمیکنید
دولوپرهای تمامعیار همواره در هنگام افزودن قابلیتهای جدید از یک سو و همچنین برطرف نمودن باگها در مراحل مختلف توسعهٔ نرمافزار از سوی دیگر، کار خود را ارزیابی میکنند و از خود میپرسند که آیا روش و برنامهٔ درستی را در پیش گرفتهاند یا نه؟
۳۳. به خاطر کدهای بدی که نوشتهاید دائماً در حال عذرخواهی هستید
قبلاً گفتیم که خیلی آرمانگرا نباشید و گاهی برای رسیدن به اهداف خیلی فوری، به نوشتن کدهای متوسط و حتی بَد راضی شوید؛ به عبارت دیگر، کدهایی که خوب نیستند ولی هنوز کار میکنند. اما اگر این روش دائمی شما است که کدهایی بنویسید که فقط کار میکنند و به خوب و یا عالی بودن آنها اهمیتی نمیدهید، معلوم است که یک جای کار میلنگد.
بنابراین اگر با روش فعلی خود همیشه وقت کم میآورید و برای تحویل بهموقعِ پروژه چارهای جز نادیده گرفتن کیفیت کدها ندارید، بهتر است چند روزی وقت بگذارید و در روش خود تجدید نظر کنید و روشی را بیابید تا علاوه بر سرعت، کیفیت کدهای شما را نیز تضمین نماید تا دائماً مجبور به عذرخواهی از دیگر دولوپرها، مدیرعامل شرکت، مدیر پروژه، مشتری و ... نباشید.
۳۴. اهمیتی به کدهایی که خودتان ننوشتهاید نمیدهید
همهٔ دولوپرهای تیم باید علاوه بر اینکه کدهای باکیفیتی مینویسند، خود را مسئول بررسی کیفیت کدهای سایر اعضا دانسته و مشکلات کدهای دیگران را نیز شناسایی نمایند تا در نهایت استانداردهای یکسانی در مورد کدهای همهٔ اعضا رعایت شود. اگر این اتفاق نیفتد و به جای رعایت استانداردها، اعضاء به رفع سطحی مشکلات کدهای یکدیگر بسنده کنند، در نهایت سورسکدی که حاصل کار کل تیم خواهد بود کاملاً غیراستاندارد و بههمریخته بوده و بعدها نیز اگر نگوییم امکان ارتقاء آن وجود نخواهد داشت، ارتقاء آن سخت است. بنابراین مرور و بررسی کدها همیشه ارزش صرف زمان و انرژی را دارا است.
۳۵. برای نظارت بر کار تازهواردهای تیم، وقت کافی صرف نمیکنید
تیم شما باید روزبهروز بهتر شود، رشد نماید و اعضایش باید هر روز چیزهای جدیدی یاد بگیرند. به عنوان یک دولوپر باتجربه، این وظیفهٔ شما است تا برای دولوپرهای تازهکار و کمتجربه وقت بگذارید، به صورت دونفره با آنها کد بزنید و به آنها بیاموزید که چهطور از روشهای مختلف میتوانند مشکلات را حل کنند. این کار ممکن است یک الی دو ساعت از وقت شما را در روز بگیرد، اما چیزی که در نهایت عاید تیم خواهد شد، ارزشی بیش از این خواهد داشت.
سخن پایانی
همهٔ دولوپرها باید دائماً در حال پیشرفت و بهتر شدن باشند از این رو آگاهی از عادات نادرستی که مانع پیشرفت آنها میشود خود میتواند گامی در جهت بهتر شدن محسوب شده و در نهایت موجب پیشرفت دولوپرها شود.
حال نوبت به نظرات شما میرسد. چه عادتهای بد دیگری سراغ دارید که میتوانند سد راه پیشرفت یک دولوپر گردند و آیا تاکنون گرفتار یک یا چند مورد از این عادتهای نادرست بودهاید؟ نظرات، دیدگاهها و تجربیات خود را با سایر کاربران سکان آکادمی به اشتراک بگذارید.