How To Write Unmaintainable Code

  • یوسف مهرداد بی‌بالان

با خواندن مطلب زیر نه تنها مطالب جدیدی یادگرفتم، بلکه به شدت خندیدم. خلاصه‏ای از آن را در اینجا آورده و آدرس آن را نیز در ادامه آورده‏ام.

In the interests of creating employment opportunities in the Java programming field, I am passing on these tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes. Further, if you follow all these rules religiously, you will even guarantee yourself a lifetime of employment, since no one but you has a hope in hell of maintaining the code. Then again, if you followed all these rules religiously, even you wouldn’t be able to maintain the code.

* Documentation :
Any fool can tell the truth, but it requires a man of some sense to know how to lie well.

* Program Design :
The cardinal rule of writing unmaintainable code is to specify each fact in as many places as possible and in as many ways as possible.

*Testing:
I don’t need to test my programs. I have an error-correcting modem.

*Dealing With Others:
Hell is other people.

*Roll Your Own:
You’ve always wanted to write system level code. Now is your chance. Ignore the standard libraries and write your own. It will look great on your resumé.

*Miscellaneous Techniques:
If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime.

refs: http://www.web-hits.org/txt/codingunmaintainable.html

گزیده:
لقمان را گفتند: ادب از که آموختی؟ گفت از بی‏ادبان. هر چه از ایشان در نظرم ناپسند آمد، از فعل آن پرهیز کردم.
نگویند از سر بازیچه حرفی — کزان پندی نگیرد صاحب هوش
وگر صد باب حکمت پیش نادان — بخوانند آیدش بازیچه در گوش
گلستان سعدی، باب دوم، حکایت بیستم.

About Me

  • یوسف مهرداد بی‌بالان

I’m passionate about creating great software, I believe creating great software can help create great businesses: either its the software products you sell or the software that allows the business to be great.
I believe software systems done well can help us grow and learn as businesses and as individuals; done badly they can hold us back. Software alone is not enough: you have to learn and change, this is how we create knowledge.
The immediate problem I see is: how do we make our software development better? How do we improve the team? Yet this is only the start of the problem, the real problem is: how do I make my business better? How do I improve my products and services?
ref: http://www.allankelly.net/

گزیده:

Alfredo: [after informed about the arrival of the new non-combustible film] Progress always comes late. –Cinema Paradiso

درس معلم

  • یوسف مهرداد بی‌بالان

معلم يک کودکستان به بچه هاي کلاس گفت که ميخواهد با آنها بازي کند. او به آنها گفت که فردا هر کدام يک کيسه پلاستيکي بردارند و درون آن به تعداد آدمهايي که از آنها بدشان ميآيد، سيب زميني بريزند و با خود به کودکستان بياورند.
فردا بچه ها با کيسه هاي پلاستيکي به کودکستان آمدند. در کيسه بعضي ها ۲، بعضي ها ۳، و بعضي ها ۵ سيب زميني بود.
معلم به بچه ها گفت: تا يک هفته هر کجا که مي روند کيسه پلاستيکي را با خود ببرند. روزها به همين ترتيب گذشت و کم کم بچه ها شروع کردند به شکايت از بوي سيب زميني هاي گنديده. به علاوه، آن هايي که سيب زميني بيشتري داشتند از حمل آن بار سنگين خسته شده بودند. پس از گذشت يک هفته بازي بالاخره تمام شد و بچه ها راحت شدند.
معلم از بچه ها پرسيد: از اينکه يک هفته سيب زميني ها را با خود حمل مي کرديد چه احساسي داشتيد؟ بچه ها از اينکه مجبور بودند، سيب زميني هاي بد بو و سنگين را همه جا با خود حمل کنند شکايت داشتند.
آنگاه معلم منظور اصلي خود را از اين بازي، اين چنين توضيح داد:
اين درست شبيه وضعيتي است که شما کينه آدم هايي که دوستشان نداريد را در دل خود نگه مي داريد و همه جا با خود مي بريد. بوي بد کينه و نفرت، قلب شما را فاسد مي کند و شما آن را به همه جا همراه خود حمل مي کنيد. حالا که شما بوي بد سيب زميني ها را فقط براي يک هفته نتوانستيد تحمل کنيد

پس چطور مي خواهيد بوي بد نفرت را براي تمام عمر در دل خود تحمل کنيد؟
مرجع: http://zahra-hb.com

گزیده:

ما می‏خواهیم اینها (نرم افزار) ابزار ما باشند و نه ارباب ما. یک مدیر ایرانی

نکات مهم نگارشی برای درست نویسی

  • یوسف مهرداد بی‌بالان

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

گزیده:

اشتباه را تصحيح نكردن، خود اشتباه ديگر است.

مشاور

  • یوسف مهرداد بی‌بالان

حتماْ داستان مشاور را خوانده‏اید. این داستان را خیلی سال پیش یکی از دوستانم برایم تعریف کرد. بسیاری از دوستانم که دارای پستهای مهمی در شرکتهای مختلف بودند، در گروههای پستی، چندین و چند بار برایم فرستادند. این داستان را بار دیگر در اینجا دیدم و آن را در زیر آورده‏ام. یادم هست یک بار مدیر عامل یکی از بزرگترین شرکتهای نرم‏افزاری به من گفت: یکی از مهمترین دلایل مؤفقیت من، داشتن مشاورهای بسیار توانا بوده است. خیلی دوست دارم که نظرات دوستانم را در این مورد بدانم. منتظر هستم.

“چوپاني مشغول چراندن گله گوسفندان خود در يك مرغزار دورافتاده بود. ناگهان سروكله يك اتومبيل جديد كروكي از ميان گرد و غبار جادههاي خاكي پيدا ميشود. رانندگي آن اتومبيل كه يك مرد جوان با لباس Brioni ، كفشهاي Gucci ، عينك Ray-Ban و كراوات YSL بود، سرش را از پنجره اتومبيل بيرون آورد و پرسيد: اگر من به تو بگويم كه دقيقا چند راس گوسفند داري، يكي از آنها را به من خواهي داد؟
چوپان نگاهي به جوان تازه به دورانرسيده و نگاهي به رمهاش كه به آرامي در حال چريدن بود، انداخت و با وقار خاصي جواب مثبت داد.
جوان، ماشين خود را در گوشهاي پارك كرد و كامپيوتر Notebook خود را به سرعت از ماشين بيرون آورد، آن را به يك تلفن راه دور وصل كرد، وارد صفحهي NASA روي اينترنت، جايي كه ميتوانست سيستم جستجوي ماهوارهاي ( GPS ) را فعال كند، شد. منطقهي چراگاه را مشخص كرد، يك بانك اطلاعاتي با 60 صفحهي كاربرگ Excel را به وجود آورد و فرمول پيچيدهي عملياتي را وارد كامپيوتر كرد.
بالاخره 150 صفحهي اطلاعات خروجي سيستم را توسط يك چاپگر مينياتوري همراهش چاپ كرد و آنگاه در حالي كه آنها را به چوپان ميداد، گفت: شما در اينجا دقيقا 1586 گوسفند داري.
چوپان گفت: درست است. حالا همينطور كه قبلا توافق كرديم، ميتواني يكي از گوسفندها را ببري.
آنگاه به نظارهي مرد جوان كه مشغول انتخاب كردن و قرار دادن آن گوسفند در داخل اتومبيلش بود، پرداخت. وقتي كار انتخاب آن مرد تمام شد، چوپان رو به او كرد و گفت: اگر من دقيقا به تو بگويم كه چه كاره هستي، گوسفند مرا پس خواهي داد
مرد جوان پاسخ داد: آري، چرا كه نه!
چوپان گفت: تو يك “مشاور” هستي.
مرد جوان گفت: راست ميگويي، اما به من بگو كه اين را از كجا حدس زدي؟
چوپان پاسخ داد: كار سادهاي است. بدون اينكه كسي از تو خواسته باشد، به اينجا آمدي. براي پاسخ دادن به سوالي كه خود من جواب آن را از قبل ميدانستم، مزد خواستي. مضافا، اينكه هيچ چيز راجع به كسب و كار من نميداني، چون به جاي گوسفند، سگ مرا برداشتي.”

گزیده:
همچون اسفنج كه آب را جذب مي كند، شما نيز افكار خوب را جذب كرده و آن را در خدمت هدف خويش قرار دهيد. اديسون

همکاران خانم و همکاران آقا (سه دیدگاه)

  • یوسف مهرداد بی‌بالان

بحث بین آقایان و خانمها معمولاً همیشگی و همه گیر است. این مقایسه به خصوص وقتی به امور تخصصی کشیده شود به آن دلیل که تأثیر زیادی بر کارها دارد، حداقل جالب به نظر می‏رسد. سه اظهار نظر مختلف از سه وبلاگ http://alabd.persianblog.ir، http://zahra-hb.com و http://weblog.radmanitd.com انتخاب کرده‏ام که در زیر آمده است. دو اظهارنظر کننده، آقا و سومی، خانم است. خواندن نظراتشان، خالی از لطف نیست.

آوردن آنها در اینجا به منزله تأیید یا عدم تأییدم نیست.

نيروي انساني به عنوان يک سرمايه- قسمت 5 – خانم يا آقا، کدام نيرو بهتر و کم دردسر تر است؟ (http://weblog.radmanitd.com)
در کلاس مهندسي نرم افزار، مثالي مي زنم براي مقايسه عملکرد خانم ها و آقايان در مهندسي نرم افزار که در آخر هم دانشجويان پسر و هم دانشجويان دختر دلخور مي شوند از دستم! مثالي که خواهش مي کنم کپي رايت آن حفظ گردد، چون ساخت خودم است. آن مثال اين است:
“فرض کنيد مي خواهيد يک کار تعريف کنيد، آن کار اين است که يک کوه کنده شود و در يک دره بزرگ ريخته شود تا هر دو صاف شوند. براي نيروي خانم نمي توانيد به همين سادگي مساله را توصيح دهيد، بلکه بايد يک بيل به دستش بدهيد، ببريدش پاي کوه، بگوييد ببين بيل را اينجوري مي گيري، اينجوري این خاک را مي کني و اينجوري در آن چاله مي ريزي، لطفا اين کار را تکرار کن! بايد جزييات کامل کار و تبديل يک کار بزرگ را به مساله کوچک انجام دهيد وگرنه نمي تواند خواسته شما را به خوبی اجرا کند، اما در آن سو شما مي توانيد برويد و وي را به حال خود رها کنيد، اگر سنگ هم از آسمان ببارد، مرتب و منظم، هر روز سروقت مي آيد و با دقت کاري که به وي محول کرده ايد را انجام مي دهد، غر نمي زند، دل به کار مي دهد و کار را همانطور که خواسته ايد تا سالها ادامه مي دهد (فقط بايد مواظبش باشيد که وقتي کوه کاملا کنده شد، کارش را متوقف کنيد وگر نه تا تبديل محل آن به يک چاله بزرگ به کارش ادامه خواهد داد!) اما اگر اين کار را بخواهيد به يک آقا بدهيد بايد مساله را اينجوري توضيح دهيد، “اون کوه را مي بيني، بکنش، بريزش اون دره را پرکن” همين. خودش مي داند که چه کند، شايد استفاده از بيل براي کندن کوه به نظرش احمقانه بيايد و يک ماه تلاش کند و يک بيل مکانيکي اختراع کند و کاري که همان خانم در يک سال انجام مي داد، در يک ماه بعد انجام دهد، شما هم خوشحاليد، اما بايد حواستان باشد که سربازي نداشته باشد، بايد حواستان باشد که ممکن است خيلي ناگهاني در حاليکه به شما لبخند مي زند، هوس کانادا رفتن به سرش بزند و کار شما را نيمه کاره رها کند و برود، شايد کسي در حين کار شما پول بيشتري به وي بدهد و تصميم بگيرد کوه را براي وي بکند، شايد اصلا حس کند، چرا بايد کوه را کند، بهتر است دره را عميق تر کرد، شايد يک روز حال کار کردن نباشد، شايد در عين توافق اوليه، ناگهاني حس کند پول بيشتري مي خواهد، شايد … خلاصه بايد مراقبش باشيد!”

از شوخي گذشته، تجربيات خودم از بکارگيري نيروهاي آقا و خانم در بخش هاي فني به من نشان داده است که آقايان در کارشان خلاقيت بيشتري نشان مي دهند و مي توانند کار ها را سريعتر انجام دهند،اما دردسر هاي بيشتري هم پشت سرشان است، اما خانم ها نيروهاي کم دردسرتري هستند اما دوست دارند يک کار ساده و تکراري داشته باشند و برخلاف نيروهاي آقا، کمتر دنبال ماجراجويي و تغيير در کارشان است.نکته مهم آنکه اين قضيه عموميت ندارد و مثال نقض بسيار است، شايد ديدگاه من بود در مورد اين قضيه و طبیعتا قابل نقد.

از کدام استفاده کنيد بهتر است؟ پاسخ اين سوال روشن است، هر کسي را بهر کاري ساخته اند، براي بخشي از کارتان که دردسر و تنش بيشتري دارد و نياز به يک بولدوزر براي انجام آن هست، آقايان مناسب تر هستند اما در بخشي که مي خواهيد يک کار را حفظ کنيد و خوب نگهداري کنيد، خانم ها مناسب تر هستند.
فقط دو نکته را هم در مورد نيروهاي آقا و خانم وجود دارد که بايد در مورد استخدامشان دقت کنيد تا با مشکلات بعدی کمتري مواجه شويد
– آقايان مجرد معمولا پس از دانشگاه سربازي بايد بروند و شايد هوس ادامه تحصيل يا مهاجرت داشته باشند.
-خانمهاي مجرد، معمولا بايد ازدواج کنند و ادامه کارشان بسته به شرايط بعد از ازدواجشان است که آيا خودشان و همسرشان مايل به کار کردن هستند يا خير، بچه دار شدن بعد از آن را هم بايد در نظر بگيريد.
ترجيح خودم آن است که سعي کنم از اشخاص متاهل استفاده کنم، چون ثبات بيشتري در کارشان دارند و اگر خانم باشند حتما به اين نتيجه رسيده اند که بعد از ازدواج هم کار کنند ، آقايان هم ديگر سرشان بوي قرمه سبزي نمي دهد و به جاي هوس هاي بيهوده، نسبت به کار منطقي تر فکر مي کنند و دل به کار می دهند.

در مطلبي به تجربيات محدودم در مديريت نيرويهاي آقا و خانم و تفاوت برخورد يک مدير با هر کدام از اين نيروها صحبت خواهم کرد، که نمي دانم درست است يا نه، صرفا مانند این نوشته، تجربياتم خواهد بود.
همين!

خصلت های کارمندی بانوان محترم (http://alabd.persianblog.ir)

یادم هست حدود سالهای ۷۷ و ۷۸ که با مرکز کامپیوتر و اتوماسیون جهاد دانشگاهی شریف همکاری مختصری در بخش نرم افزاری پروژه های اتوماسیون صنعتی داشتم،در کنار ما یک مرکز دیگر بود به نام مرکز اپتیک و تقریبا همه کارمندانش خانوم بودند. مدیرمرکز اپتیک هم میگفت که تصمیم جدی دارد که فقط کارمند خانم استخدام کند و میگفت مزایای منحصر به فردی دارند که در کار بسیار مهم است:

اولا که خیلی منظم هستند. هم در کار و هم در آمدن و رفتن.

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

سوم اینکه وجدان کار شان بالا است و در انجام درست و دقیق کار بسیار مصمم هستند.

اما من فکر میکنم یک مشکل اساسی دارند و آن اینکه کسی که با آنها کار میکند خیلی باید مواظب باشد که خانمهای همکار احساس نکنند که به آنها بی احترامی میشود و همیشه و در همه حال باید احترامشان حفظ شود.حتی تذکرات کاری را نیز باید خیلی محترمانه عنوان کرد.

در هفته پیش و بر سر یک مورد که برایم مهم بود بر سر دو نفر همکارمان که کارهای اداری مان را انجام میدهند عصبانی شدم و داد زدم. یکی از آنها ۴ سال بود که همکاری میکرد و نفر دیگر هم یکی از اقوام نزدیک من است.

نتیجه این شد که کار مورد نظر در آن روز بالاخره انجام شد ولی هیچکدام از آن دو نفر از صبح فردای آن روز سر کار نیامدند. بهانه شان هم این شده است که استرس زیاد است.

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

در چنین مواردی بر طبق قانون کار،کارفرما باید به اداره کار نامه ای بنویسد و اعلام کند که فلانی و فلانی ترک کار کرده اند.

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

شرایط مطلوب کاری خانومها (http://zahra-hb.com)

یکی از بزرگترین درگیریهای ذهنی ما خانومها مسائل مربوط به کارمون و تعادل بین اونها و سایر جنبه های زندگیمون هست.
واقعیت اینه که یه چیزهای توی وجود ماهاست که شاید تحت عنوان مسايل زنانه و یا زنانگی مطرح بشن و به نظرم بخش جدایی ناپذیر وجود هر زنی هست. حتی اگه زنی باشه که سختترین مشاغل مردانه رو هم (مثلا حتی شغلهای نظامی) انتخاب کرده باشه باز هم نمیتونه از حسهای زنانه خودش جدا بشه. حتی اگه این روحیات باعث بشه که بارها مورد تمسخر همکاران و یا اعضای خانواده قرار بگیره بازهم بهشون دامن میزنه.
اما چیزهایی هست که خیلی به بهبود کاری خانومها کمک می کنه. من اطمینان دارم که در بسیاری از جهات خانومها میتونن موفقتر از آقایون باشن چون آقایون بیشتر کلی نگر هستند در حالیکه ما خانومها بیشتر به جزئیات امور دقت می کنیم و شاید به همین دلیل موشکافتر از آقایون هستیم:D چیزی که البته آقایون اسمش رو فضولی و خاله زنکی می گذارن! به نظر من اگه از همین خاصیت خانومها استفاده بهینه می شده و بشه الان وضع دنیا خیلی بهتر از این بود و خواهد شد. حتی اگه تعداد ساعات کاری خانومها کمتر باشه بازهم استفاده مفید میشه کرد ازش. اشتباه نکنین منظورم برتری خانومها نیست بلکه این صرفا یک ویژگی هست که در یک جنس هست و در دیگری نه. همینطوری که مثلا آقایان قدرتهایی دارند که خانومها ندارن.

خوب حالا چه شرایطی باعث میشه خانومها بهتر کار کنن؟ برای من اینها خیلی مهمن:
1.امنیت شغلی: اینکه بدونم شرایط کاریم محکمه و اینطوری نیست که فردا بندازنم بیرون (این البته بیشتر به دانش و تجربه فرد مربوط میشه).
2. امنیت محیطی: اینکه بدونم محیط کارم سالمه کسی مزاحمم نمیشه. حرف نامربوط نمیزنه و رفتارهای ناسالم از خودش بروز نمیده.
3.صمیمیت: اینکه جو محیط صمیمانه و روشنفکرانه و با درک متقابل باشه و طرفین همدیگه رو درک کنن. طرفهای کاری از جنس خودمان باشند (جنسیت رفتاری منظورمه)
4. توی محیط کارم حتما خانوم باشه!!! این مسئله خیلی خیلی برای ما خانومها حاثز اهمیته شاید حتی مهمتر از موارد بالا.
5. مرخصی و استراحت: اینطوری نباشه که ساعات زیادی مجبور باشیم کار کنیم و استراحتمون کم باشه چون بالاخره باید خرید کنیم غیبت کنیم و غیره…
6. محیط کار یه ذره فانتزی و خوشگل مشگل باشه. البته در ادارات دولتی چنین چیزی ممکن نیست و صرفا باید به عروسکهای کوچولویی که توی کیف و یا روی دسته کلیدامون داریم، بسنده کنیم. وگرنه محیط کار مطلوب از نظر من همونیه که توی عکس نشون داده شده (##)
7.نوع کار: من به شخصه همیشه از یادگیری و مسائل جدید استقبال می کنم و دلم نمیخواد یک کار ساکن و راکد داشته باشم دلم میخواد از این جهت کارم همیشه باز باشه.
8. این لیست تکمیل میشه و اگه خانومهای خواننده نظر دیگه ای دارن بگن تا به اینجا اضافه کنم. مرسی:-)

* آیا خانوم ها از ریاضیات و علوم مهندسی هراس دارند؟
یه مطلب جالب از این سایت خوندم در رابطه با اینکه چرا خانوم های شاغل در رشته های مربوط به علوم و مهندسی احساس معذب بودن در محیط کار می کنن و کارایی واقعی خودشون رو نمی تونن نشون بدن.البته این تحقیقات طبیعاتا در ایران صورت نگرفته و باید اضافه کنم به شخصه دلیل اینکه خیلی از خانوم ها در ایران نمی تونن سمت چنین شغل هایی برن رو منع مذهبی و یا شرم و حیای بیش از حد میدونم.
اما به گفته این نوشته تحقیقاتی که در دانشگاه استنفورد صورت گرفته در کارهای مهندسی نسبت تعداد شاغلین مرد به زن ها 3 به 1 هست و زنان به خاطرشرایط محیطی(از قبیل اینکه احساس می کنن که در اقلیت قرار دارن) نسبت به مردها بازدهی کمتری دارن.
آزمایشی که خانم مورفی در دانشگاه انجام داده این بودکه 2 تا فیلم از برگزاری کنفرانسی در زمینه مهندسی به تعدادی از خانوم ها و آقایون نشون داده که در یکی از فیلم ها تعداد خانوم های شرکت کننده کمتر از آقایون و در دیگری با هم مساوی بودن.گروه تحقیقاتی خانم مورفی در طول نمایش این ویدیو حالات روانی این خانوم ها آقایون بیننده رو تحلیل می کردن.در واقع احساس اینکه آیا اون ها می خواستن در یکی از این دو کنفرانس باشن رو می سنجیدن.نتایج نشون داد که اکثر خانوم ها تمایل به شرکت در مجامعی دارن که تعداد خانوم ها و اقایون برابر باشه.اما در مورد مرد ها!اون ها هم ترجیح می دادن که در کنفرانسی شرکت کنن که تعداد خانوم ها با تعداد آقایون برابری میکنه
میشه حدس زد که دلایل این دو گروه برای چی هست.زنها در کنار هم احساس بهتر و امن بودن می کنن و اعتماد به نفس بالاتری دارن در حالیکه آقایون یه طورایی جذب خانوم ها میشن

گزیده:
اشخاص هميشه گناه را بر گردن شرايط مي‏اندازند.من به شرايط معتقد نيستم، انسان موفق شرايط را جستجو مي‏كند و اگر نيابد، آن را ايجاد مي‏كند. برنارد شاو

Releasing the Source Code for the .NET Framework Libraries

  • یوسف مهرداد بی‌بالان

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

Today Scott Guthrie on his blog announced microsoft plans for oper sourcing microsoft.net 3.5 and VS 2008 until end of year.
link: http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-librarie

گزیده:

Be who you are and say what you feel because those who mind don’t matter and those who matter don’t mind. Dr. Seuss

برای خروج از جستجو کلید ESC را بفشارید