رستگاری در 3 خط کد

چند روز پیش یکی از بزرگترین خطاهای زندگی من درکدنویسی اتفاق افتاد.

خطایی که با زندگی چند هزار نفر بازی می کرد.

این خطا فقط در سه خط و در ترتیب انجام محاسبه رخ داد. 3 خط کد اشتباه به همراه جایگزینشون رو در زیر می بینید:

کدهای اشتباه :

X1 = MList[0].number * 80 / 100;
X2 = MList[0].number * 20 / 100;
XTotal = X1 + X2;

کد های صحیح:

X1 = MList[0].number;
X2 = MList[0].number;
XTotal = (X1 * 80 / 100) + (X2 * 20 / 100);

 

فقط همین سه خط بود که یک سازمان رو به هم ریخت!

در ابتدا که به این مشکل پی بردم , با خودم گفتم که مسئله مهمی نیست باید خیلی راحت ازش بگذرم , ولی نتونستم بیشتر از یک ساعت تحمل کنم , وقتی دیدم که مدیر پروژه تقریبا کارهای اصلی که در گیر اون بود رو تموم کرده , رفتم و بهش گفتم که قضیه اینه!

اول اومد کدها رو بررسی کرد که مطمئن بشه , بعد که مطمئن شد دیگه نمی شد جلوشو گرفت به شدت عصبانی  شده بود نمی شد حرفی زد , اصلا به طور کلی ناامید شده بود, زنگ زد به مسئول پیگیری پروژه اون رو هم در جریان گذاشت , وقتی اومدش و جریان رو فهمید , فقط حرص می خورد حرفی نمی زد , انگار که داره به راه حل فکر میکنه ! ولی عصبانیت اصلا اجازه فکر کردن رو بهش نمی داد.

نتونسن کاری پیش ببرن و رفتن سراغ رئیس سازمان توسعه که فردی با تجربه بود هم در مدیریت و هم  در برنامه نویسی.

وقتی داشتن میرفتن پیش رئیس سازمان توسعه , من با خودم گفتم که دیگه حتما جایی تو اونجا ندارم.

از دور دیدم داره میاد به سمت بخش ما , وقتی اومد اولین سوالش این بود که مشکل کجاست؟ وقتی مشکل رو فهمید دیگه چیزی نگفت و فقط مدیر پروژه و مسئول پیگیری رو از جر و بحث کردن آروم کرد. و گفت بهتره دیگه به راه حل فکر کنیم.

سریعا سه چهار تا راه حل ارائه داد و نهایتا با ترکیبی از راه حل ها مسئله حل شد. همین! البته از پی بردن به مشکل تا حل اون حدود یه هفته طول کشید. ولی نتایجی که من در کل به اون رسیدم این بود:

1-      با تمرکز بیشتری کد نویسی کنم!

2-      چیزی که از اجرا شدن کد انتظار داریم با نتیجه اجرای کد تفارت داره.

3-      وقتی به مشکلی بر می خوریم , پنهانش نکنیم

4-      وقتی فیمیدیم که مشکل کجاست دیگه دست از چرا ها برداریم و به فکر حل مشکل باشیم.

5-      همون مورد اول

پ.ن : نمی دونید مقصر بودن چقدر سخته!

 

عضو فید تراوشات شوید!

جستجو در آبجکت های SQL Server با redgate SQL Search

Red-Gate-SQL-Searchابزارهای کوچکی وجود دارند که هر چند در نظر اول فکر می کنیم که زیاد بدردمون نخوره , ولی این جور ابزارها درست لحظه ای به کار میان که با مشکلی روبرو می شیم و سریعا می گیم « کاش برنامه ای بود که این کار رو برام میکرد!»دیتابیس برنامه ای که روش کار می کنم بیشتر از 150 تا استورد پروسیجر داره. هر وقت میخواستم که یه استورد پروسیجر رو پیدا کنم در بهترین حالت مجبور بودم که 10 الی 15 ثانیه اسکرول کنم این کار وقتی سخت تر میشه که اسم استورد پروسیجر رو ندونی!

از اونجایی که جواب همه چیزو از گوگل می پرسم , گفتم یه سرچی بزنم شاید برنامه ای برای جستجو در میان استورد پروسیجر ها پیدا کنم و مثل همیشه بی جواب نموندم!

در صفحه نتایج گوگل با AddOn ی به نام SQL Search که یک محصول رایگان از شرکت Red Gate است روبرو شدم.

کار با SQL Search خیلی سادست بعد از نصبش SQL Server  رو باز کنید تولباری مشابه عکس زیر به بالای برنامه اضافه میشه که با کلیک کردن یا استفاده از میانبر Ctrl + Alt + D یه تب جدید باز میشه برای سرچ آبجکت مورد نظر :

RegGate SQL Search

شمای کلی تب باز شده به این شکله :

Sql Search Main Panel

نتیجه ی جستجو به صورت زیر نمایش پیدا میکنه :

نتایج جستجو در SQL Search

یکی از کارهای مهمی که این AddOn  انجام می ده اینه که با دبل کلیک کردن روی نتیجه نمایش داده شده یا کلیک روی لینک Select Object in  Object Explorer  آبجکت مورد نظر داخل Object Explorer  به حالت انتخاب شده نمایش میده :

Sql Search- Show object Object Explorer

 

برای دانلود و کسب اطلاعات بیشتر درباره ی red gate SQL Search می تونید به اینجا مراجعه کنید.

 

————–

عضو فید تراوشات شوید!

 

رفتار پیمانکار

چند وقتیه که درگیر یه کار پیمانکاری تو یه سازمان دولتی هستم. با این که امکان این وجود داره که بعد از پایان همکاری پیمانکاری با این سازمان , بتونم به صورت قرارداد کارمندی به کارم ادامه بدم ولی اصلا تمایلی به ادامه کار تو این سازمان رو ندارم .

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

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

بعد یاد اولین روزی که اونجا رفته بودم افتادم ….

چون هنوز جای کار من مشخص نشده بود و در نتیجه کامپیوتر هم برام درخواست نداده بودن کارفرما گفتش« میتونید تو این چند روز لپتاپتون رو بیارید تا با روال کاری کم کم آشنا بشید؟»

منم گفتم لپتاپم تو خونه به صورت شیر استقاده میشه و نمیتونم بیارمش

و اونم برگشت با لحنی کنایه دار گفت که  « حالا مثلا چقدر کارشون مهمه که نتونن چند روز تحمل کنن!؟»

منم تو جواب گفتم که مهم تر از کارای اینجاست

خلاصه اینکه که با دقت تو اتفاقاتی که تو این چند وقته اونجا برام میفته و رفتارهایی که از کارفرما با خودم وهمکارای دیگش دیدم به این نتیجه رسیدم که علت اینکه من تمایلی به حضور در اونجا ندارم میتونه این باشه و دقیقا هم همینه!

به نظرم آدما چند دسته اند:

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

منم برای اینکه بتونم تو این چند وقت که قراره اونجا باشم راحت کار کنم باید راهی برای تغییر شرایط پیدا  کنم
حتی ممکنه برای تغییر شرایط از تغییر خودم شروع کنم.

تو اینجا درباره رفتار با مدیر بد توضیحات و پیشنهاداتی نوشته شده

آخرین راه حلی که ارائه داده خیلی جالبه :
«شعبه خود را عوض کنيد يا استعفا دهيد. اگر تمام کارهايي که به شما پيشنهاد کرديم با شکست مواجه شد بهتر است اگر در يک کارخانه بزرگ کار مي کنيد در خواست تغيير شعبه دهيد و يا اگر انجام چنين کاري مقدور نبود به راحتي مي توانيد استعفاي خود را بر روي ميزش قرار دهيد. فقط خودتان مي توانيد ارزش درونيتان را بدانيد و اگر تصور مي کنيد که شغل فعلي به اندازه کافي با نيازهاي درونيتان همخواني ندارد، پس بهتر است به خودتان يک تکان اساسي بدهيد.«

آغاز تراوشات

سلام من تراوشگر هستم

اینجا تمام تراوشاتی که داخل ذهنم سنگینی میکنه , رو قرار میدم

چون یا میخوام از یادم برن , یا می خوام به یاد داشته باشمشون

همین

چیزای دیگه هم میذارم

دنبال‌کردن

هر نوشتهٔ تازه‌ای را در نامه‌دان خود دریافت نمایید.