به علت مدل کاری که من دارم خیلی نیاز به اینکه همیشه بهینه کارها را انجام بدهم است برای همین مطالب زیادی در این مورد می خوانم . چند روز پیش کتابی خواندم با نام The productive programmer  . موضوع کتاب درباره این است که چگونه به عنوان یک power user استفاده بهینه از کامیپوتر بکنیم . مقایسه می کند برنامه نویسان زمان حال را با قدیمی ترها که زبانهای فعلی را ساخته اند ، زمانی که GUI مثل امروز نبود . می گوید که زمانهای قدیم power user ها به طور متوسط از power user های امروزی کار بیشتری از کامپیوتر می کشیدند و به اصطلاح کامپیوتر آنها در حال running بود نه walking ! .

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



به کارهای خود شتاب بدهید

تا به حال دقت کرده اید که استفاده از mouse به چه میزان کارایی ما را پایین می آورد ! دنبال یک Icon باید گشت ، cursor را روی آن برد و dbl click کرد ، در حالی که با keyboard با زدن چند دکمه و در زمان کمتری همان کار انجام می شود . همین نکته را در طراحی نرم افزارهایمان هم می توانیم در نظر بگیریم . فکر کنید فرمی قرار است توسط اپراتور پر شود ، چقدر به اینکه اپراتور بدون استفاده از mouse بتواند کار کند توجه می کنیم ؟
در ویندوز برای اجرای نرم افزارها روش های مختلفی وجود دارد ، مثلا ً کلیک بر روی start و programs و انتخاب نرم افزار از آن لیست بلند بالا . پیدا کردن نام نرم افزار از آن لیست برای خودش کاری است ! در ویستا امکان تایپ نام نرم افزار مورد نظر را داریم که همین باعث کمتر شدن زمان مصرف شده برای پیدا کردن نرم افزار می شود . همین امکان را با نرم افزارهایی می توان در XP هم اضافه کرد .
اصلا ً چه نیازی به این همه نرم افزار است ؟! آیا لزومی دارد که نرم افزاری که سالی یک بار استفاده می شود کنار نرم افزاری که روزی 10 بار باید اجرایش کنیم باشد ؟ چرا فولدرمشخصی برای نرم افزارهای پر استفاده نسازیم و لینک آنها را در آن شاخه قرار ندهیم . با این روش می توان با زدن چند کلید از روی صفحه کلید نرم افزار مورد نظر را اجرا کرد .

خلاصه ، تایپ کردن خوب است .


تمرکز

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

بعضی موارد می تواند به باقی ماندن ما در حالتی که حواسمان پرت نشود کمک کند . مثلا ً تعریف ساعت سکوت در محل کار ، کسی بین ساعت 9 تا 11 صبح و 3 تا 5 بعد از ظهر حق استفاده از مسنجر ، صحبت غیر ضروری با دیگران ، تلفن زدن و ... را ندارد . از دو تا مانیتور یا چند Virtual Desktop استفاده شود .


انجام خودکار کارها

مدیران سرورها معمولا ً برای هر کاری یک script می نویسند ، یک بار چند ساعت وقت صرف می کنند و از آن به بعد سیستم فقط آن script ها را اجرا می کند .

برای خیلی از کارها می توان script ساخت . امروزه با بودن تکنولوژی هایی مانند powershell کارهای خیلی بیشتری از یک batch فایل ساده می توان انجام داد .

ابزارهای دیگری هم برای خودکار کردن دیگر کارها وجود دارد ، مثل ماکروها ، یا add on های مختلف مثل Selenium که چند روز پیش لینکش را در قسمت لینکدونی اضافه کردم (که کارش خودکار کردن بازدید و کار کردن با صفحه های وب است ).



Virtualization

تا به حال شده که یک مشتری بعد از چند سال یادش می افتد که امکان جدیدی برای نرم افزارش می خواهد ؟ حتما ً شده . طعم شیرین اینکه سورس نرم افزار او با هیچ کدام از نرم افزارهای فعلی و update شده کار نمی کند را هم حتما ً چشیده اید ! حالا باید یک کامپیوتر پیدا کرده و مطابق سورس قدیمی او نرم افزارها را نصب کرده و کارش را انجام داد . از این به بعد برای هر پروژه ( ای که به دردسرش می ارزد !) از یک سیستم عامل جدا در Virtual machine استفاده کنیم بهتر نیست ؟ تمام نرم افزارهای مورد نیاز برای کار روی پروژه را روی آن Virtual machine نصب می کنیم و هر موقع می خواهیم روی آن پروژه کار کنیم کافی است آن Virtual machine را راه اندازی کنیم . بعد از خاتمه پروژه هم کل فایلهای آن virtual machine را روی فلش مموری درون پوشه پروژه در بایگانی قرار می دهیم . می توان یک virtual machine پایه ، مثلا ً ویندوز 2003 همراه با SQL و VS داشت و فقط آن را برای پروژه های بعدی کپی کرد . ( با MS Virtual PC که مشکلی در این مورد نداشتم ) .



YAGNI


You Ain’t  Gonna Need it
تا وقتی به یک امکانی در کد نیاز پیدا نکردی اضافه اش نکن ، زیرا مشکلاتش بیشتر از سودش است !
 


در این کتاب برای هر کدام از ایده هایی که ارائه شده برای مک و ویندوز ، جاوا و دات نت نرم افزارهایی معرفی کرده ، البته بیشتر در قسمت برنامه نویسی جاوایی است !
مطالعه اش توصیه می شود . نظری دارید ؟

GravatarافشارWwW
چهارشنبه ساعت 20:52 , 24/4/1388
مطالب خیلی جالبی بودند. سپاس!
نام :   
ايميل :      اين سايت از سيستم گراواتر استفاده می کند ، اگر در گراواتر دارای کد کاربری هستيد می توانيد از آن آدرس ايميل استفاده کنيد.  
وب سايت :   
ديدگاه :   
عدد زير را وارد کنيد :
  


  پيام شما بعد از بازبينی افزوده خواهد شد.