A Handbook of Agile Software Craftsmanship
Robert C. Martin

#Clean_Code
#Software
#Agile
#Robert_C_Martin
#عمو_باب
#کد_تمیز
#کدنویس_تمیز
#معماری_تمیز
📘 حتی کدهای بد هم میتونن کار کنن. اما اگر کد تمیز نباشه، میتونه یک سازمان توسعه نرمافزار رو کاملاً از پا دربیاره. هر سال، هزاران ساعت و منابع زیادی به خاطر کدهای بد نوشتهشده از بین میره. ولی لازم نیست اینطوری باشه.
🧠 رابرت سی. مارتین، متخصص شناختهشدهی نرمافزار، در کتاب Clean Code: A Handbook of Agile Software Craftsmanship یک پارادایم انقلابی ارائه میده. مارتین که اصول اجایل رو از دید یک دولوپر به هزاران برنامهنویس منتقل کرده، همراه با همکارانش در Object Mentor تجربههای عملی خودشون از تمیز کردن کد «در لحظه» رو تبدیل به یک کتاب کردن؛ کتابی که ارزشهای یک Software Craftsman رو در تو نهادینه میکنه و فقط در صورتی تو رو به برنامهنویس بهتری تبدیل میکنه که واقعاً روش کار کنی.
🔍 در این مسیر، بیشتر با «خواندن کد» سر و کار داری—کد زیاد. و مدام به چالش کشیده میشی که تشخیص بدی چه چیزی در این کد خوبه و چه چیزی اشتباهه. مهمتر از اون، باید دوباره به ارزشهای حرفهای خودت و میزان تعهدت به مهارتت فکر کنی.
📚 کتاب Clean Code به سه بخش تقسیم شده:
نتیجه این ساختار، یک دانشپایهست که نشون میده وقتی کد مینویسیم، میخونیم و تمیز میکنیم، دقیقاً چطور فکر میکنیم.
📌 چیزهایی که بعد از خوندن این کتاب یاد میگیری:
🧠 تشخیص تفاوت بین کد خوب و بد
🧱 نوشتن کد تمیز و تبدیل کد بد به کد قابل نگهداری
🏷️ ساخت نامهای خوب برای متغیرها، فانکشنها، آبجکتها و کلاسها
📐 فرمتبندی کد برای بیشترین خوانایی
⚠️ پیادهسازی مدیریت خطا بدون خراب کردن منطق اصلی کد
🧪 نوشتن Unit Test و استفاده از Test-Driven Development
👃 شناخت Code Smellها و Heuristicهایی که به تشخیص کد بد کمک میکنن
👥 این کتاب برای هر دولوپر، مهندس نرمافزار، لید تیم یا تحلیلگر سیستم که دنبال نوشتن کد بهتره، ضروریه.
📚 فهرست مطالب
فصل 1: کد تمیز
فصل 2: نامگذاریهای معنادار
فصل 3: فانکشنها
فصل 4: کامنتها
فصل 5: فرمتبندی
فصل 6: ساختار داده و آبجکتها
فصل 7: مدیریت خطا
فصل 8: مرزها
فصل 9: تستهای واحد
فصل 10: کلاسها
فصل 11: سیستمها
فصل 12: ظهور
فصل 13: همزمانی
فصل 14: پالایش تدریجی
فصل 15: ساختار داخلی JUnit
فصل 16: بازطراحی SerialDate
فصل 17: بوهای کد و Heuristicها
👤 درباره نویسنده
🚀 رابرت سی. «آنکل باب» مارتین از سال ۱۹۷۰ در حوزه نرمافزار فعالیت میکنه و از سال ۱۹۹۰ مشاور بینالمللی نرمافزاره. او بنیانگذار و رئیس شرکت Object Mentor, Inc. هست؛ تیمی از مشاوران حرفهای که در زمینههای C++، Java، C#، Ruby، طراحی شیگرا، Design Patternها، UML، Agile و eXtreme Programming به شرکتهای مختلف در سراسر دنیا مشاوره میدن.
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.
Noted software expert Robert C. Martin, presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin, who has helped bring agile principles from a practitioner’s point of view to tens of thousands of programmers, has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of software craftsman, and make you a better programmer―but only if you work at it.
What kind of work will you be doing? You’ll be reading code―lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly you will be challenged to reassess your professional values and your commitment to your craft.
Clean Codeis divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code―of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Readers will come away from this book understanding
This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
Contents
Chapter 1: Clean Code
Chapter 2: Meaningful Names
Chapter 3: Funct ions
Chapter 4: Comments
Chapter 5: Formatting
Chapter 6: Objects and Data Structures
Chapter 7: Error Handling
Chapter 8: Boundaries
Chapter 9: Unit Tests
Chapter 10: Classes
Chapter 11 : Systems
Chapter 12: Emergence
Chapter 13: Concurrency
Chapter 14: Successive Refinement
Chapter 15: JUnit Internals
Chapter 16: Refactoring SerialDate
Chapter 17: Smells and Heuristics
Robert C. “Uncle Bob” Martin has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor, Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, C#, Ruby, OO, Design Patterns, UML, Agile Methodologies, and eXtreme programming.









