وبلاگ شخصي
 
به

وبلاگ شخصی حسین مرگانی

خوش آمدید
Welcome to

Hossein Margani's Weblog

ملزومات برنامه نویسی 14:41 25/10/1387

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

  • هر برنامه نویس نیاز به فضای کار بزرگ دارد: این کار زمان لازم برای پیدا کردن یک کاغذ یا خودکار رو بصورت رادیکالی کاهش میده
  • هر برنامه نویس باید دو تا مونیتور داشته باشه: این کار باعث میشه برنامه نویس فضای بیشتری داشته باشه برای راهنماها مثل MSDN یا انتخاب عکس یا آیکون یا جستجو در اینترنت. همچنین زمانی که برای بستن یا Minimize کردن پنجره ها صرف می شد حذف میشه.
  • کامپیوتر هر برنامه نویس باید امکانات کاملی داشته باشد: برنامه نویسا باید بهترین سخت افزارها در اختیارشون باشه چون نصف زندگیشونو پشت کامپیوترن. دلیل دیگه اینکه هیچ برنامه نویسی خوشش نمی آد که منتظر کامپایل یه برنامه،ا اجرای یک برنامه بشه.
  • هر برنامه نویس باید صندلی راحتی داشته باشه: چون یه برنامه نویس مدتهای طولانی روی صندلیش می شینه بنابراین باید صندلی راحتی داشته باشه. ضمن اینکه فکر نمی کنم وقتی آدم در اون قسمت احساس درد می کنه مغز بتونه کار کنه!
  • هر برنامه نویس باید خوردنی کنار دستش باشه مخصوصاً چای یا قهوه: بعضی روزها برنامه نویس بیشتر از معمول کار می کنه، بنابراین چای یا قهوه و خوردنی جات باعث می شه بتونه ادامه بده. البته سیگار جزو این دسته نمیشه.
  • هر برنامه نویس باید موس و صفحه کلید دلخواهشو داشته باشه: مثل اکثر برنامه نویسا من دوست دارم صفحه کلید نرم و صاف داشته باشم مثل صفحه کلید لپ تاپ. بهتره صفحه کلید خاص نباشه که کلیدای خفن روش باشه، یه صفحه کلید معمولی که محل دکمه ها مثل اکثر صفحه کلیدا باشه. در مورد موس هم یه موس نرم که کلیداش نرم باشه و حتماً اسکرول هم داشته باشه.
  • هر برنامه نویس باید اینترنت با سرعت بالا داشته باشه: این مسئله مهم تر میشه وقتی راهنمای offline ندارین. مثل MSDN. یادم می آد وقتی مشکلی برام پیش میومد، چه خطای syntax په مشکلای برنامه ای بلافاصله وصل می شدیم به اینترنت، با مودم 56K که در اصلی 33K بود و یه 30 ثانیه ای هم وصل شدنمون طول می کشید حدوداً یه جستجوی Google و پیدا کردن مشکل یه ربعی وقتمونو می گرفت، ضمن اینکه به خاطر هزینش بعد از اینکه کارمون تموم می شد مجبور می شدیم قطعش کنیم. بعدها که اینترنت ADSL گرفتم این زمان به 5 دقیقه کاهش پیدا کرد. و البته با اعصاب راحتتر مشکلمو حل می کنم. و با همین کار ساده 15% از زمان کار کم میشه.
  • هر برنامه نویس باید حق داشته باشه بپرسه: چرا؟: چند دفعه احساس کردین پروژه ای که دارین روش کار می کنین مشکل داره و باید درست بشه؟ مثلاً طراحی فرمی که بهتون دادن بنویسین خوب نیست و باید بهتر باشه، قشنگ تر باشه. و می بینید که کسی که این طراحی رو انجام داده از کد نویسی چیزی نمی دونه و اصرار داره که حتماً این طوری طراحی بشه. بهتره جو طوری باشه که برنامه نویس در گفتن این جور انتقادات راحت باشه و بتونه نظرشو راحت بگه.
  • برنامه نویس باید دسترسی به هر منبع و کتاب و مقاله و مستندی رو داشته باشه مخصوصاً Google: چرا مدیرا فکر می کنن کسی که برنامه نویسه باید هر چیزی رو در خصوص زبانهای برنامه نویسی و برنامه ها و محیط های IDE بدونه؟ پس Google برای چیه؟ کلاً 10 دقیقه بیشتر طول نمی کشه که یه مطلب که اصلاً در موردش چیزی نمی دونی با کلی مثال و مطلب، کامل یاد بگیری. به فرض هم که برنامه نویس حرفه ای باشه یه جایی یه موقعی نیاز به کمک داره، نیاز به این داره که از تجربیات دیگران استفاده کنه.
  • هر برنامه نویس باید حق داشته باشه هر چی دوست داره بپوشه: نمی تونم تصور کنم که یه برنامه نویس با کت و شلوار و کقش ورنی و کروات! نشسته داره برنامه نویسی می کنه. ممکنه برای ملاقات ها و جلسه ها لازم باشه که لباس رسمی پوشیده بشه ولی خود من اینطوری ام وقتی برنامه نویسی می کنم یه لباس راحت مثل تی شرت و شلوار کتون و کفش راحتی و یا دمپایی بپوشم. البته تو این مورد یه خورده باید فکر بقیه رو هم بکنین که اگه سوالی ازتون دارن روشون بشه بیانو سوال بپرسن و به خاطر پی جامه که پاتونه قید صحبت با شما رو بزنن!
یه برنامه نویس به چه چیزای دیگه می تونه نیاز داشته باشه؟
چرخه توسعه نرم افزار 04:00 24/10/1387
  1. برنامه نویس کدنویسی رو تموم می کنه و معتقده هیچ باگی نداره
  2. برنامه تست میشه و 20 تا باگ پیدا مشه
  3. برنامه نویس 10 تاشو تصحیح می کنه و به تیم تست توضیح میده که 10 تای دیگه اصلاً باگ یا اشکال نیست
  4. تیم تست متوجه میشه 5 تا از این تصحیح ها کار نمیکنه و 15 تا باگ جدید پیدا می کنه
  5. تا زمانیکه رئیس شرکت صداش در نیومده برو به 3
  6. به علت فشار بازار و یا رسیدن زمان تحویل پروژه، محصول عرضه میشه
  7. کاربران 137 تا باگ جدید پیدا می کنن
  8. برنامه نویس اصلی پولشو گرفته و آب شده رفته زمین
  9. تیم برنامه نویسی جدیدی شکل می گیره و همه ی 137 تا باگ رو تصحیح می کنه و 456 تا باگ جدید پیدا مشه
  10. برنامه نویس اصلی به تیم تست فعلی که هنوز پولشو نگرفته یک کارت پستال از فیجی می فرسته که باعث میشه تیم تست استعفا بده
  11. شرکت که محصولش الان 783 تا باگ داره توسط شرکت رقیب خریده میشه و تحول اساسی در شرکت شکل میگیره
  12. رئیس جدید، هیئت مدیره جدید شکل میده و برنامه نویس استخدام میکنه که کار رو از اول دوباره انجام بده
  13. برنامه نویس کدنویسی رو تموم می کنه و معتقده هیچ باگی...

تگها: , ,

SE

علت استفاده از یک کاراکتر برای متغیر ایندکس 11:52 23/10/1387
به مطلبی برخوردم که جالب بود. اصولا چرا برنامه نویسا برای متغیرهای ایندکس مثل حلقه از i، j، k و مانند این استفاده می کنن؟ قضیه از این قراره که قدیما که زبان برنامه نویسی رایج FORTRAN بوده برای نسخه های اولیه این زبان نام متغیرهاییکه از نوع integer بوده باید حتماً با یکی از کاراکترهای i تا n انتخاب بشه. و همین طور چون نام متغیر طولانی تر حافظه بشتری می گیره و اون زمان برای گرفتن حافظه درمضیقه بودن، از نامهای یک کاراکتری و اون هم i یا j یا k استفاده می کردن و ما هم چون کسایی که به ما برنامه نویسی یاد دادن از همون قدیمیا بودن از همونا یاد گرفتیم. البته مدرنیته باعث شده جدیداً به جای اینها از کلمه index استفاده کنن.
جا داره بگم گفته شده که i، j،k نامهای بدی برای متغیرها هستن و نباید از این نامها برای متغیرها استفاده کرد. بهتره از نامهایی مثل count, index و غیره استفاده بشه.

تگها: ,

My Mind

سایتی برای تست و مقایسه فونت ها برای نوشته ها در وب 04:30 23/10/1387
 به طور اتفاقی به سایتی برخوردم برای مقایسه آنلاین فونتها و پیش نمایش متن ها با فرمتهای مختلف که تو این سایت می تونیم فرمتهای مختلف رو به متن بدیم و در پایان هم کد CSS این فرمت رو دریافت کنیم. همچنین تو این سایت میتونیم کد HTML کل کاراکترها رو پیدا کنیم که مثلا © رو اونجا پیداکردم که میشد: ©
 
لینک سایت:  http://www.fonttester.com

تگها: , , , ,

Links

اولین نوشته 07:25 21/10/1387

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

تگها:

My Mind


Spread Firefox Affiliate Button


Software tracking