چگونه نقد کردن برای یک برنامه نویس!

هیچ کس در هیچ جای این کره خاکی نمی تواند ادعا کند که یک برنامه نویس تمام عیار است. خیلی از ما شاید بعد از سالها برنامه نویسی هنوز به علت گستردگی موارد و ظهور و سقوط زود به زود تکنولوژی نمی توانیم ادعا کنیم که همه چی را می دانیم. صادقانه بگویم نه عمر ما کفاف می دهد و نه سرعت پیشرفت این اجازه را به ما می دهد. همه ما در حدی کار را بلد هستیم که بتوانیم مسائل خود را حل کنیم و پروژه ای را که در دست داریم به جلو ببریم.مطمئنا خیلی از شما دوستان من هم بعد از مدتی که پروژه ها و کدهای قبلی خود نگاه می کنید به عمق فاجعه پی می برید که کجا بوده اید و الان کجا هستید.شاید علت اصلی این نوشته این است که بعضا در زمان های مختلف در سایت ها و شبکه های اجتماعی بسیاری از دوستانی که اندک زمانی است برنامه نویسی را شروع کرده اند شروع به نقد های برنامه نویسان و یا شرکت هایی می کنند که سالهاست در حال تلاش هستند.به اینکه آیا نقد صحیح است یا خیر اصلا کاری ندارم. مسلما ممکن است کسی که نقد می کند و ایرادی را گوش زد می کند به مورد صحیحی اشاره کند ولی اینکه آیا کسی اجازه دارد که به تیمی توهین کند یا به تمسخر بپردازد؟ شخضا فکر نمی کنم از هیچ جنبه ای درست باشد.هم برای شما و هم برای بنده پیش آمده است که عضوی از گروه که شاید از لحاظ تجربه، در سطح پایینی قرار داشته باشد به کدها ایرادی گرفته، که از چشم برنامه نویسان ارشد به دور بوده است و این طبیعی است که هر کسی در هر سطحی اشتباه کند و یا مطلبی را نداند ولی رویکرد و نوع بیان با طعنه زدن و یا فحاشی کردن مسئله را به گونه ای دیگر جلو می برد.اما چگونه نقد کنیم؟من در حال حاضر یک برنامه نویس Php هستم ولی سالها با انواع زبانهای برنامه نویسی کار کرده ام. با Python اطلاعات سایتهای مختلف را استخراج کردم و در حوضه IOT برنامه نویسی کردم . با Swift و Objective C برای iOS و با Flutter برای اندروید برنامه نویسی کرده ام ولی در حال حاضر فقط و فقط خود را برنامه نویس Php و آن هم کتابخانه Laravel می دانم. نمی گویم تجربه بسیار دارم و بسیار کار کشته ام. خیر! ولی بر اساس مطالبی که خوانده ام و اندک تجربه ای که دارم سعی می کنم همانند نمونه زیر نقد کنمنقد بد ( از نمونه واقعی ) :برای این کار می تونید از Rail استفاده کنید ، چون express آشغاله و همه هم می دونند که هیچ معماری نداره فقط چون سادست و کار را بندازه انقدر طرفدار دارهنقد بهتر از نگاه من:چرا از express استفاده کردید. اگر پروژه شما بزرگ شود مطمئنا سیستم middle ware و routing در Rail بسیار راحت تر است. شاید در مراحل اول به راحتی express نباشد ولی در نهایت در پروژه بزرگتر مدیریت را راحتر می کند.به اینکه آیا اساس آیا این نقد در رابطه با express درست است یا خیر کاری ندارم ولی همانطور که می بیند در نقد باید علت را جویا بشوید و سپس پیشنهاد خود را اعلام کنید. مسلما هیچ یک از ما نمی توانید یک کتابخانه را آشغال بنامیم در حالی که جمعیت بسیار زیادی در سطوح مختلف از آن استفاده می کنند پس هیچ وقت نباید یک طرفه به میدان رفت.باید برای نقد خود پیشنهاد بدهید و سعی کنید به منابعی رجوع کنید که در نهایت باعث پیشرفت شود در غیر اینصورت جز کدورت و ناراحتی هیچ ثمره ای ندارد حتی اگر نقد درست باشد.باید لهن گفتار پسندیده باشد و یا در صورتی که به صورت نوشتار است از emoji استفاده شود که جنبه نقد برای کسی که مورد نقد قرار می گیرد لحن دوستانه ای به نظر آید.در نقد ما اگر هدف خراب کردن نباشد مسلما پیشنهادی در جهت بهبود کار است پس چه بهتر هنگام نقد و قبل از اعلام آن برای چند لحظه خود را به جای طرف مقابل قرار دهیم و ببنیم آیا اگر جای او بودیم این نوع جمله بندی چه تاثیری بر روی ما می گذاشت.می دانم در این رابطه می شود ساعت ها بحث کرد ولی بالاخره از جایی باید شروع کرد. امیدوارم که این مقاله کمکی باشد برای اینکه بهتر نقد کنیم و باعث ناراحتی کسی نشویم.لینک تصویر پست : https://bit.ly/2TPiKEQ