الگوی ایجاد نرمافزار: تجزیه – ترکیب!
پیشگفتار: مدتی است که با خود میاندیشم تجربیاتم را در حوزهی نرمافزار در اینجا بنویسم، هم ماندگار خواهد شد و هم شاید به دوستی کمک کند. نمیدانم “الگوی ایجاد نرمافزار” عبارت مناسبی هست یا نه، ولی تا یافتن عبارت مناسبتر از آن استفاده خواهم کرد. داستانی از عبید زاکانی: گویند؛ روزی “مطربی” نزد “مرحوم کرباسی” […]
الگوی ایجاد نرمافزار: هزار توی نرمافزاری!
پیشگفتار: مدتی است که با خود میاندیشم تجربیاتم را در حوزهی نرمافزار در اینجا بنویسم، هم ماندگار خواهد شد و هم شاید به دوستی کمک کند. نمیدانم “الگوی ایجاد نرمافزار” عبارت مناسبی هست یا نه، ولی تا یافتن عبارت مناسبتر از آن استفاده خواهم کرد. بازی هزار تو هزار تو یا به انگلیسی 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 […]
الگوی ایجاد نرمافزار: مار و پله!
پیشگفتار: مدتی است که با خود میاندیشم تجربیاتم را در حوزهی نرمافزار در اینجا بنویسم، هم ماندگار خواهد شد و هم شاید به دوستی کمک کند. نمیدانم “الگوی ایجاد نرمافزار” عبارت مناسبی هست یا نه، ولی تا یافتن عبارت مناسبتر از آن استفاده خواهم کرد. بازی مار و پله مار و پله، یک بازی کودکانه […]
طبقهبندی مفاهیم (classification)
نوشتهای از دوست گرانقدرم، روح الله دلپاک که در اینجا (تلگرام: t.me/Break_Point) خواندم: … یوسف مهرداد، وقتی میخواست سختی و پیچیدگی طبقهبندی مفاهیم (classification) را توضیح دهد، شعری از «شل سیلوراستاین»، شاعر، داستانسرا و کارتونیست آمریکایی را مثال میزد: I asked the Zebra, are you black with white stripes? Or white with black stripes? And […]
beautiful code
function makeAdder(x) { return function(y) { return x + y; }; } var add5 = makeAdder(۵); var add10 = makeAdder(۱۰); console.log(add5(۲)); // ? console.log(add10(۲)); // ?
Understanding Coupling and Cohesion
I invited some of my friends to discuss the nebulous concepts of coupling and cohesion in software design. How do we think about these topics? How do we understand the terms? How do we use that in our work as programmers? How do we teach it to others? How much does any of it even […]