Disciplines, Standards, and Ethics
Robert C. Martin

#Clean_Code
#Clean_Craftsmanship
#Software
#TDD
#Test-Driven_Development
#Refactoring
🧼 چطور هر روز کدی بنویسی که بهش افتخار کنی
💭 «این کتاب یادآوری بهموقع و فروتنانهایه از اینکه دنیای برنامهنویسی هر روز پیچیدهتر میشه و ما در برابر میراث بشریت و همینطور خودمون مسئولیم که توسعه نرمافزار رو اخلاقی انجام بدیم. Clean Craftsmanship رو با حوصله بخون. این کتاب رو همیشه دم دستت نگه دار. بذار مثل یک دوست قدیمی، مثل Uncle Bob و یک راهنما، در مسیرت در این دنیا با کنجکاوی و شجاعت همراهت باشه.»
— از مقدمه Stacia Heimgartner Viscardi، CST و Agile Mentor
📘 توضیح کتاب
👨💻 در کتاب Clean Craftsmanship، برنامهنویس افسانهای Robert C. Martin یا Uncle Bob اصولی رو نوشته که حرفه و هنر Software Development رو تعریف میکنن. او Disciplineها، Standardها و اصول اخلاقیای رو کنار هم قرار میده که برای تولید کد مقاوم و موثر و برای افتخار کردن به نرمافزاری که مینویسی بهشون نیاز داری.
🧠 رابرت مارتین، نویسنده پرفروش Clean Code، در این کتاب یک راهنمای Pragmatic، فنی و صریح برای Disciplineهای پایه Software Craftsmanship ارائه میده. او درباره Standardها صحبت میکنه و نشون میده انتظارات دنیا از Developerها خیلی وقتها با انتظارات خود Developerها تفاوت داره و چطور میشه این دو رو با هم هماهنگ کرد.
⚖️ در پایان، Bob سراغ اخلاق حرفه Programming میره و Promiseهای اساسیای رو توضیح میده که هر Developer باید در برابر همکارها، کاربران و مهمتر از همه خودش داشته باشه.
🤝 با بینشهای Uncle Bob، برنامهنویسها و مدیرهاشون میتونن بهطور مداوم کدی ارائه بدن که بهجای از بین بردن اعتماد، اعتماد بسازه؛ اعتمادی بین کاربران و همینطور در جوامعی که بقای اونها به نرمافزار وابسته شده.
🎯 چیزهایی که یاد میگیری
⭐ به سمت «ستاره قطبی» واقعی Software Craftsmanship حرکت میکنی؛ یعنی رسیدن به مرحلهای که واقعا بدونی چطور باید خوب برنامهنویسی کنی
🧪 راهنمایی عملی و مشخص برای استفاده از پنج Discipline اصلی میگیری: Test-Driven Development، Refactoring، Simple Design، Collaborative Programming و Acceptance Testها
🚀 یاد میگیری Developerها و Teamها چطور Productivity، Quality و Courage رو تقویت کنن
🤝 مفهوم واقعی Integrity و Teamwork بین برنامهنویسها رو درک میکنی و با ده تعهد مشخصی آشنا میشی که هر Software Professional باید به اونها پایبند باشه
📖 فهرست مطالب
فصل ۱. Craftsmanship
پارت ۱. Disciplineها
فصل ۲. Test-Driven Development
فصل ۳. TDD پیشرفته
فصل ۴. Test Design
فصل ۵. Refactoring
فصل ۶. Simple Design
فصل ۷. Collaborative Programming
فصل ۸. Acceptance Testها
Extreme Programming
Test-Driven Development
Refactoring
Simple Design
Collaborative Programming
Acceptance Testها
پارت ۲. Standardها
CTO جدید شما
فصل ۹. Productivity
فصل ۱۰. Quality
فصل ۱۱. Courage
پارت ۳. Ethics
اولین Programmer
هفتاد و پنج سال
Nerdها و نجاتدهندهها
Role Modelها و Villainها
ما دنیا رو اداره میکنیم
فاجعهها
سوگند
فصل ۱۲. Harm
فصل ۱۳. Integrity
فصل ۱۴. Teamwork
🧩 ادامه مسیر بعد از Clean Code
💭 «ما بهعنوان Software Developer باید دائما مسئلههای مهمی رو برای کارفرماها، مشتریها، همکارها و حتی خود آیندهمون حل کنیم. اینکه فقط اپلیکیشن کار کنه، هرچند سخت باشه، کافی نیست و تو رو به یک Craftsman تبدیل نمیکنه. وقتی اپلیکیشن کار میکنه، فقط آزمون app-titude رو رد کردی.
ممکنه استعداد تبدیل شدن به یک Craftsman رو داشته باشی، اما هنوز چیزهای بیشتری برای یادگیری وجود داره. Bob در این صفحات تکنیکها و مسئولیتهایی رو خیلی شفاف توضیح میده که کمکت میکنن از آزمون app-titude فراتر بری و مسیر یک Software Craftsman جدی رو طی کنی.»
— James Grenning، نویسنده Test-Driven Development for Embedded C و همنویسنده Agile Manifesto
📝 نقد و بررسی
💭 «Clean Craftsmanship از Bob کار فوقالعادهای در توضیح هدف Agile Technical Practiceها انجام داده و در کنار اون، تاریخ عمیقی از اینکه این Practiceها چطور شکل گرفتن و چرا همیشه مهم باقی میمونن ارائه میده. نقش Bob در تاریخ و شکلگیری Agility، درک عمیقش از Practiceها و هدف اونها در سراسر کتاب کاملا دیده میشه.»
— Tim Ottinger، Agile Coach و نویسنده
💭 «سبک نوشتاری Bob عالیه. متن خیلی راحت خونده میشه و مفاهیم با جزئیاتی توضیح داده شدن که حتی یک Programmer تازهکار هم میتونه دنبال کنه. Bob حتی لحظههای بامزهای هم داره که بهشکل خوبی تو رو از تمرکز سنگین بیرون میاره.
اما ارزش واقعی کتاب در فراخوانش برای تغییره؛ برای چیزی بهتر، برای اینکه Programmerها حرفهای رفتار کنن و بفهمن نرمافزار همهجاست. به نظرم تاریخچهای که Bob ارائه میده هم ارزش زیادی داره. جالب اینه که وقتش رو صرف سرزنش کردن کسی بابت شرایط فعلی نمیکنه. در عوض، از آدمها میخواد مسئولیت قبول کنن، Standardهای خودشون رو بالا ببرن و سطح Professionalism رو بیشتر کنن، حتی اگر گاهی لازم باشه مقاومت کنن.»
— Heather Kanser
💭 «ما بهعنوان Software Developer باید دائما مسئلههای مهمی رو برای کارفرماها، مشتریها، همکارها و خود آیندهمون حل کنیم. اینکه اپلیکیشن کار کنه، هرچند سخت باشه، کافی نیست و تو رو Craftsman نمیکنه. در این کتاب، Bob تکنیکها و مسئولیتهایی رو خیلی شفاف توضیح میده که کمکت میکنن از این مرحله فراتر بری و مسیر یک Software Craftsman جدی رو طی کنی.»
— James Grenning، نویسنده Test-Driven Development for Embedded C و همنویسنده Agile Manifesto
💭 «Bob یکی از معدود Developerهای مشهوریه که واقعا دوست دارم در یک پروژه فنی باهاش کار کنم. نه به این دلیل که Developer خوبیه، مشهوره یا خوب ارتباط برقرار میکنه؛ بلکه چون Bob کمک میکنه من Developer و Team Member بهتری باشم.
او سالها زودتر از بقیه خیلی از روندهای مهم توسعه رو تشخیص داده و تونسته اهمیت اونها رو توضیح بده و همین من رو به یادگیری تشویق کرده. وقتی من شروع کردم، جدا از اینکه آدم صادق و خوبی باشی، مفهوم Craftsmanship و Ethics تقریبا در این حوزه وجود نداشت.
الان به نظر میرسه اینها از مهمترین چیزهایی هستن که Developerهای حرفهای باید یاد بگیرن، حتی قبل از خود Coding. خوشحالم که Bob دوباره راه رو نشون میده و مشتاقم دیدگاهش رو بشنوم و وارد Practice خودم کنم.»
— Daniel Markham، Principal در Bedford Technology Group, Inc.
👤 درباره نویسنده
👨💻 Robert C. Martin یا Uncle Bob اولین خط کد خودش رو در ۱۲ سالگی و در سال ۱۹۶۴ نوشت و از سال ۱۹۷۰ بهصورت حرفهای بهعنوان Programmer فعالیت میکنه.
🎥 او همبنیانگذار cleancoders.com است که آموزشهای ویدئویی آنلاین برای Software Developerها ارائه میده و همینطور بنیانگذار Uncle Bob Consulting LLC است که خدمات Software Consulting، Training و Skill Development رو به شرکتهای بزرگ در سراسر دنیا ارائه میکنه.
🏢 او همچنین بهعنوان Master Craftsman در 8th Light, Inc.، یک شرکت Software Consulting مستقر در Chicago، فعالیت کرده.
📚 رابرت مارتین دهها مقاله در مجلههای تخصصی منتشر کرده، نویسنده کتابهای متعددی بوده و بهطور منظم در کنفرانسها و Trade Showهای بینالمللی سخنرانی میکنه.
How to Write Code You're Proud of . . . Every Single Day
". . . [A] timely and humble reminder of the ever-increasing complexity of our programmatic world and how we owe it to the legacy of humankind--and to ourselves--to practice ethical development. Take your time reading
Clean Craftsmanship
. . . . Keep this book on your go-to bookshelf. Let this book be your old friend--your Uncle Bob, your guide--as you make your way through this world with curiosity and courage."
--From the Foreword by Stacia Heimgartner Viscardi, CST & Agile Mentor
In Clean Craftsmanship, the legendary Robert C. Martin ("Uncle Bob") has written the principles that define the profession--and the craft--of software development. Uncle Bob brings together the disciplines, standards, and ethics you need to deliver robust, effective code and to be proud of all the software you write.
Robert Martin, the best-selling author of Clean Code, provides a pragmatic, technical, and prescriptive guide to the foundational disciplines of software craftsmanship. He discusses standards, showing how the world's expectations of developers often differ from their own and helping you bring the two in sync. Bob concludes with the ethics of the programming profession, describing the fundamental promises all developers should make to their colleagues, their users, and, above all, themselves.
With Uncle Bob's insights, all programmers and their managers can consistently deliver code that builds trust instead of undermining it--trust among users and throughout societies that depend on software for their survival.
Table of Contents
Chapter 1 Craftsmanship
PART I: The Disciplines
Chapter 2 Test-Driven Development
Chapter 3 Advanced TDD
Chapter 4 Test Design
Chapter 5 Refactoring
Chapter 6 Simple Design
Chapter 7 Collaborative Programming
Chapter 8 Acceptance Tests
Extreme Programming
Test-Driven Development
Refactoring
Simple Design
Collaborative Programming
Acceptance Tests
PART II: The Standards
Your New CTO
Chapter 9 Productivity
Chapter 10 Quality
Chapter 11 Courage
PART III: The Ethics
The First Programmer
Seventy-Five Years
Nerds and Saviors
Role Models and Villains
We Rule the World
Catastrophes
The Oath
Chapter 12 Harm
Chapter 13 Integrity
Chapter 14 Teamwork
Pick Up Where Clean Code Leaves Off
"As software developers, we have to continually solve important problems for our employers, customers, colleagues, and future selves. Getting the app to work, though difficult, is not enough, it does not make you a craftsman. With an app working, you have passed the app-titude test. You may have the aptitude to be a craftsman, but there is more to master. In these pages, Bob expresses clearly the techniques and responsibilities to go beyond the app-titude test and shows the way of the serious software craftsman."
— James Grenning, author of Test-Driven Development for Embedded C and Agile Manifesto co-author
"Bob's Clean Craftsmanship has done a great job explaining the purposes of agile technical practices, along with a deep historical basis for how they came into existence, as well as positioning for why they will always be important. His involvement in history and formation of agility, thorough understanding of practices, and their purposes reflect vividly throughout the manuscript."
―Tim Ottinger, well-known Agile Coach and author
"Bob's writing style is excellent. It is easy to read and the concepts are explained in perfect detail for even a new programmer to follow. Bob even has some funny moments, which pleasantly snap you out of focus. The true value of the book is really in the cry for change, for something better . . . the cry for programmers to be professional . . . the realization that software is everywhere. Additionally, I believe there is a lot of value in all the history Bob provides. I enjoy that he doesn't waste time laying blame for how we got to where we are now. Bob calls people to action, asking them to take responsibility by increasing their standards and level of professionalism, even if that means pushing back sometimes."
―Heather Kanser
"As software developers, we have to continually solve important problems for our employers, customers, colleagues, and future selves. Getting the app to work, though difficult, is not enough, it does not make you a craftsman. With an app working, you have passed the app-titude test. You may have the aptitude to be a craftsman, but there is more to master. In these pages, Bob expresses clearly the techniques and responsibilities to go beyond the app-titude test and shows the way of the serious software craftsman."
―James Grenning, author of Test-Driven Development for Embedded C and Agile Manifesto co-author
"Bob's one of the very few famous developers with whom I'd like to work on a tech project. It's not because he's a good developer, famous, or a good communicator; it's because Bob helps me be a better developer and a team member. He has spotted every major development trend, years ahead of others, and has been able to explain its importance, which encouraged me to learn. Back when I started--apart from being honest and a good person--the idea of craftsmanship and ethics was completely missing from this field. Now, it seems to be the most important thing professional developers can learn, even ahead of coding itself. I'm happy to see Bob leading the way again. I can't wait to hear his perspective and incorporate it into my own practice."
―Daniel Markham, Principal, Bedford Technology Group, Inc.
Robert C. Martin ("Uncle Bob") wrote his first line of code at the age of 12 in 1964 and has been employed as a programmer since 1970. He is cofounder of cleancoders.com, offering online video training for software developers, and is founder of Uncle Bob Consulting LLC, offering software consulting, training, and skill development services to major corporations worldwide. He served as the Master Craftsman at 8th Light, Inc., a Chicago-based software consulting firm. Mr. Martin has published dozens of articles in various trade journals, authored many books, and is a regular speaker at international conferences and trade shows.









