Code vs. Good Code
Writing code is about making your computer do what you need. Writing good code is about enabling teams of strangers 5 years from now to make their computers do what they need. François Chollet
الگوی ایجاد نرمافزار: عقد قرارداد
پیشگفتار: مدتی است که با خود میاندیشم تجربیاتم را در حوزهی نرمافزار در اینجا بنویسم، هم ماندگار خواهد شد و هم شاید به دوستی کمک کند. نمیدانم “الگوی ایجاد نرمافزار” عبارت مناسبی هست یا نه، ولی تا یافتن عبارت مناسبتر از آن استفاده خواهم کرد. قرارداد: قرارداد یا عقد یا پیمان یا کنترات یک توافق […]
برگردیم به طراحی!
پیشگفتار: مانند هر انسان دیگری، از دیرباز یک سری پرسش در ذهنام نقش بسته است، و از آنجا که پاسخهای یافتهشده قانعام نکرده، هر از گاهی دوباره فرصتی پیدا میکنند و خودشان به سر صف میرسانند و فرصتی پیدا میکنند تا بخشی از ظرفیت مغزم را به خود اختصاص دهند. من هم به مانند بسیاری […]
نمونه آموزندهای از بازسازی کد
مقدمه: بازسازی کد بازسازی کد یا refactoring، یک واژهی تخصصی است که معنی آن، بهبود کیفیت کد یک سیستم است بدون آن که تغییری در رفتار خارجی آن ایجاد شود. مشابه غیرافزاری بازسازی کد، بازسازی داخلی یک خانه است که بدون آن نمای خارجی خانه دچار تغییر شود، اجزای داخلی آن مانند تاسیسات و چیدمان […]
الگوی ایجاد نرمافزار: تجزیه – ترکیب!
پیشگفتار: مدتی است که با خود میاندیشم تجربیاتم را در حوزهی نرمافزار در اینجا بنویسم، هم ماندگار خواهد شد و هم شاید به دوستی کمک کند. نمیدانم “الگوی ایجاد نرمافزار” عبارت مناسبی هست یا نه، ولی تا یافتن عبارت مناسبتر از آن استفاده خواهم کرد. داستانی از عبید زاکانی: گویند؛ روزی “مطربی” نزد “مرحوم کرباسی” […]
الگوی ایجاد نرمافزار: هزار توی نرمافزاری!
پیشگفتار: مدتی است که با خود میاندیشم تجربیاتم را در حوزهی نرمافزار در اینجا بنویسم، هم ماندگار خواهد شد و هم شاید به دوستی کمک کند. نمیدانم “الگوی ایجاد نرمافزار” عبارت مناسبی هست یا نه، ولی تا یافتن عبارت مناسبتر از آن استفاده خواهم کرد. بازی هزار تو هزار تو یا به انگلیسی maze یکی […]
The SPACE of Developer Productivity
The SPACE of Developer Productivity (Link) Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, Jenna Butler, ACM Queue, 28 February 2021 Abstract: Developer productivity is about more than an individual’s activity levels or the efficiency of the engineering systems relied on to ship software, and it cannot be measured by a single metric […]