کد تمیز بهتر از کد کثیف

قبلا پستی در مورد نحوه نوشتن کدهای تمیز داشته ام ولی هرچه قدر ما به صورت یک پست خلاصه بنویسیم ثواب یک کتاب جامعه در این مورد را نخواهد داد . بدلیل اهمیت این قضیه بر این شدم که کتاب خوبی در این مورد معرفی نمایم . برادر گرامی Robert Martin کتاب بسیار جالبی با عنوان Clean Code: A Handbook of Agile Software Craftsmanship دارد که خواندن آن خالی از لطف نمی باشد . در این کتاب خواهید خواند : چگونه کد خوب را از کد بد بشناسیم چگونه کدهای خوب بنویسسیم و چگونه کدهای بد را به خوب تبدیل...
Continue reading...

WPF را یادگیری لازم است

در اول پست عرض نمایم قصد آموزش WPF را به هیچ عنوان ندارم و مقصود اصلی این پست اشاره به لزوم طراحی مناسب در محصولات نرم افزاری و غیر نرم افزاری می باشد . غالبا محصولات نرم افزاری به دوشیوه رایج ارائه میگردد : 1 – به صورت وب سایت  2- به صورت دسکتاپ سایت هایی که عزیزان ما در این چندسال طراحی می کنند (البته آنهایی که 1000 تومانی نباشد) تقریبا از نظر طراحی قابل قبول است و خوب است بخصوص به دلیل استفاده از معیارهای WEB 2.0 . ما در صنعت طراحی وب سایت رشد بسیار خوبی داشتیم...
Continue reading...

توسعه محصول موفق

در پست قبلی به مدل های درآمد زایی شرکت های توسعه نرم افزار اشاره کرده بودم که در این پست می خواهم بیشتر به مدل درآمد زایی توسعه محصول بپردازم . در این پست خواهید خواند که چگونه  محصول ما  می تواند موفق باشد . شرکت هایی که در حال توسعه محصول نرم افزاری می باشند بر دو قسم می باشند . آنهایی که پروژه محور هستند و آنهایی که محصول محور هستند . شرکت های ایرانی غالبا پروژه محور می باشند . در این شرکت ها معمولا نگرانی ها حول مثلث آهنین می باشد ,  یعنی اینکه پروژه باید...
Continue reading...

این روز ها همه نرم افزار توسعه می دهند , شما چطور؟

صنعت تولید نرم افزار در ایران به شدتی پیشرفت کرده است که هر کس می تواند با چندر غاز سرمایه ای به  جمع بزرگ  توسعه دهندگان نرم افزار بیپوندد . در سال های اخیر شاهد رشد چشم افزون کمپانی های توسعه نرم افزار بوده ایم . کمپانی هایی اغلب کوچک متشکل از چند برنامه نویس یک مدیر پروژه به اصطلاح و یک یا چند نفر اسپانسر . در این کمپانی ها دو مدل در آمد زایی وجود دارد : 1- انجام سفارشات 2- تولید و توسعه محصول. مدل در آمد زایی به نام انجام  سفارشات در این روش شرکت سفارشی...
Continue reading...

توسعه Web Application راحت شد

اگر در کار توسعه برنامه های تحت وب  هستید و زبان محبوبتان Java می باشد پیشنهاد می کنم حتما play framework را تست نمایید. Play Framework یک چارچوب برای تولید آسان برنامه های تحت وب به زبان Java می باشد . به آسانی می توانید برنامه های تحت وب با زبان محبوب جاوا بسازید . چارچوب قید شده بسیار چارچوب سودمندی می باشد که از جمله ویژگی های آن می توان موارد زیر را بر شمرد : Fix the bug and hit reload Efficient template system : A clean template system based on Groovy as an expression language. It provides...
Continue reading...

مدیر پروژه و تغییر دامنه

هر پروژه ای که کار می شود باید در زمان خاص و با هزینه خاص تمام شود . که در این زمان و با این هزینه نیازمندی هایی که تعریف شده اند پیاده سازی می شود . این همان مثلث آهنین مدیریت پروژه می باشد : هزینه ,  زمان و دامنه . دامنه (Scope) چیست ؟ دامنه متمایز گر و جداکننده چیز های داخل و خارج پروژه می باشد . به عبارت ساده تر مشخص می کند چه چیزی در طی پروژه باید انجام شود و چه چیزی نیاز نیست انجام شود . اصطلاح Scope creep چیست ؟ Scope creep...
Continue reading...

توسعه آزمایش محور

یه خواننده هست به اسم شماع زاده (نمی دونم مجازه غیر مجازه – اگر نیست عفو بفرمایید) همان که میگه گیتارم را نبرید {تورو خدا سیب و گلابی و طلاها رو ببرید ولی این گیتارم رو نبرید } واقعا این برادر باید برای برنامه نویس ها یک الگو باشد . برنامه نویس ها باید بگویند که هر چی دلت می خواهد ببر , IDE را ببر , کامپوننت Janus را ببر , Delphi رو کلا ببر , PHP ام دم در بنداز تو Trash ولی تو رو خدا TDD ام را نبر . در این سال های اخیر در صنعت...
Continue reading...

JIRA برای Agile

نرم افزار Jira  با امکان پیگیری موضوعات ( issue tracking) , مدیریت پروژه چابک (agile project management) ,  چرخه کاری سفارشی (customizable workflow) و مواردی دیگر سرعتی زیاد در توسعه نرم افزار به تیم شما خواهد بخشید . Jira در مواردی که بیان شد بسیار قدرتمند  می باشد که شهرت مشتریانش گواهی بر این موضوع می با شد : ویژگی های Jira برای توسعه نرم افزار : Bug and issue tracking (پیگیری موضوعات و باگ ها) Agile software development (توسعه چابک نرم افزار) Project management (مدیریت پروژه) OpenSocial Dashboards (قابلیت اتصال به صورت یک Gadget به مثلا iGoogle) Workflow and...
Continue reading...

Scrum In Visual Studio

اگر برای توسعه نرم افزار های خود از محیط توسعه Visual Studio استفاده می کنید و پروژه شما بر اساس Scrum می باشد ,   می توانید از ابزارScrum Community Process Template استفاده نمایید . این ابزار مخصوص Visual Studio Team System می باشد . این ابزار به صورت متن باز می باشد و شما می توانید در توسعه این ابزار به سازندگان ابزار یاری نمایید . مشاهده و دریافت ابزار یاشیاسیز...
Continue reading...

طراحی وب سایت همراه با شام و نهار فقط 1000 تومان

تعجب نکنید , ما برای شما سایت طراحی می کنیم فقط با 1000 تومان  با یک وعده نهار و شام . سایت های ما بسیار پیشرفته هستند به صورتی که تمام امکانات سایت Face Book  فقط ماژول اجتماعی  سایت شما خواهد بود ,  سایتی مانند  YouTube ماژول تفریحی شما خواهد بود ,  Rapidshare هم ماژول  فایل شیرینگ شما خواهد بود . اصلا هر امکاناتی که شما بخواهید را ما می تونیم طراحی نماییم . یکی از مسئولین بلند پایه کشوری به خاطر دست یافتن ما به این اقتدار ملی و سربلندی چنین گفت : به به  به به عجب افتخاری...
Continue reading...