اشاره :
يك شب پاي اينترنت نشسته بودم و بدون هدف مشخصي، به انگيزه يافتن يك خبر، مقاله يا سورس كد جالب در سايتهاي مختلف پرسه ميزدم. گهگاه چيز جالبي پيدا ميكردم، ولي چون بيحوصله بودم، آن صفحه را فقط روي كامپيوتر ذخيره ميكردم تا بعد بخوانم.
يك شب پاي اينترنت نشسته بودم و بدون هدف مشخصي، به انگيزه يافتن يك خبر، مقاله يا سورس كد جالب در سايتهاي مختلف پرسه ميزدم. گهگاه چيز جالبي پيدا ميكردم، ولي چون بيحوصله بودم، آن صفحه را فقط روي كامپيوتر ذخيره ميكردم تا بعد بخوانم. همينطور مشغول وبگردي بودم كه به تدريج در افكار خودم غرق شدم. چشمانم به مانيتور بود، ولي ذهنم آنجا نبود. احساس كردم مقداري ناراحت و دلخورم. بعد خوب كه فكر كردم، ديدم علتش اين است كه يك دنيا سورسكد، مقاله و منبع مجاني درباره برنامهنويسي پيشرفته وجود دارد كه من نميتوانم طرفش بروم. چرا؟ چون بعضي از آن ها ساختار پيچيدهاي دارند و بازخواني و فراگرفتن آنها، وقت زيادي ميطلبد كه من ندارم. از طرفي، حتي اگر وقت كافي براي مطالعه و يادگيري اين سورسكدهاي پيچيده بگذارم، چگونه ميتوانم آنها را پايه و اساس پروژههاي بعدي خودم قرار دهم؟
من به تنهايي چگونه ميتوانم از پس چنين پروژههاي سنگيني برآيم؟ در خيلي از سايتها حرفهايي درباره Versioning ،Enterprise Library، متدهاي تست نرمافزار، متدولوژي طراحي ديتابيس، مدل سازي نرمافزار، مستندسازي كد و از همه مهمتر، كار تيمي مطرح شده است. وقتي من حتي يك برنامهنويس ديتابيس دم دستم نيست، سختگيري در جداسازي هرچه بيشتر لايه دسترسي به دادهها از Business Layer و لايه نمايش در مدل شيء گرايي، چه معنايي دارد؟ به نظرم اين بيشتر نوعي ايدهآلسيم است. وقتي در نود درصد پروژهها بايد هم تحليلگر سيستم باشم، هم برنامهنويس، هم طراح اينترفيس باشم، هم طراح ديتابيس، هم تست كنم، هم اشكال زدايي، و هم دستآخر، شال و كلاه كنم بروم جلوي مغازه مشتري و براي گرفتن چك تسويه حساب پروژه چانه بزنم، اساسا ًOOP چه معنايي دارد؟
آيا شما هم يك برنامهنويس تنها هستيد؟ از شما سؤالي دارم. پاسخش را به من نگوييد. به خودتان بگوييد. واقعاً چقدر خودتان را متعهد به رعايت اصولي ميدانيد كه فوايدش بيشتر در كار تيمي ظاهر ميشود نه كار انفرادي؟ راستش را بگوييد. شما هم كثيف كدنويسي ميكنيد؟![]()