کتاب Refactoring with C++: Explore modern ways of developing maintainable and efficient applications (بازسازی کد با C++: روش های مدرن توسعه برنامه های کاربردی قابل نگهداری و کارآمد را کاوش کنید) راهنمای جامعی است که به شما نشان میدهد چگونه با استفاده از ویژگیها و رویکردهای مدرن C++، کتابخانه استاندارد، مجموعه کتابخانه Boost و کتابخانه پشتیبانی دستورالعملهای مایکروسافت، اصول SOLID و کدهای قدیمی Refactor را پیادهسازی کنید.
در ادامه مقدمهای از کتاب Refactoring with C++ را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Refactoring with C++:
تسلط بر هنر نوشتن کد C++ تمیز و کارآمد
در عصری که زبانهای سطح بالاتر بر چشمانداز فناوری تسلط دارند، C++ همچنان سنگ بنای بسیاری از سیستمها از پلتفرمهای جاسازی شده تا زیرساختهای توزیعشده مبتنی بر ابر است. قدرت C++ در توانایی آن برای ارائه راهحلهای حساس به عملکرد در کنار توانایی در مدیریت پیچیده ساختارهای داده نهفته است. در طول دو دهه گذشته، C++ تحولات چشمگیری داشته و به طور مداوم برای پاسخگویی به نیازهای محاسبات مدرن سازگار شده است.
کتاب Refactoring with C++ به عنوان یک راهنمای جامع برای کسانی که به دنبال تسلط بر هنر نوشتن کد C++ تمیز و کارآمد هستند عمل میکند. این کتاب به اجرای اصول SOLID و بازسازی کدهای قدیمی با استفاده از آخرین ویژگیها و روشهای C++ میپردازد. خوانندگان درک عمیقی از زبان، کتابخانه استاندارد، مجموعه گسترده کتابخانه Boost و کتابخانه پشتیبانی راهنمای مایکروسافت به دست خواهند آورد.
کتاب Refactoring with C++ با اصول اولیه شروع میشود و عناصر اصلی ضروری برای نوشتن کد تمیز را پوشش میدهد، با تاکید قوی بر برنامهنویسی شیگرا در C++. این کتاب بینشهایی در مورد اصول طراحی تست نرمافزار ارائه میدهد که با مثالهایی با استفاده از فریمورکهای تست واحد محبوب مانند Google Test نشان داده شده است. علاوه بر این، کتاب به بررسی کاربرد ابزارهای خودکار برای تحلیل استاتیک و پویای کد میپردازد که شامل قابلیتهای قدرتمند Clang Tools است.
در پایان سفر، خوانندگان با دانش و مهارتهای لازم برای اعمال شیوههای کد نویسی تایید شده توسط صنعت مجهز خواهند شد که به آنها امکان میدهد کد C++ تمیز، پایدار و قابل خواندن را برای برنامههای کاربردی دنیای واقعی ایجاد کنند.
بیشتر بخوانید: کتاب Clean Code with C#
کتاب Refactoring with C++ برای چه کسانی است؟
این کتاب برای طیف گستردهای از متخصصان در جامعه C++ طراحی شده است. اگر شما یک مهندس C++ هستید که به دنبال بهبود مهارتهای خود و نوشتن کد زیباتر و کارآمدتر هستید، این کتاب بینشها و تکنیکهای لازم برای ارتقاء شیوه برنامهنویسی شما را در اختیار شما قرار خواهد داد. این کتاب همچنین یک منبع عالی برای افرادی است که مسئول بازسازی و بهبود کدهای موجود هستند و توصیهها و استراتژیهای عملی برای مدیریت و موثرتر کردن این فرآیند را ارائه میدهد.
علاوه بر این، کتاب Refactoring with C++ یک راهنمای ارزشمند برای رهبران فناوری و تیم است که به دنبال بهبود فرآیندهای توسعه نرمافزار خود هستند. چه شما یک تیم کوچک را رهبری کنید یا یک پروژه توسعه بزرگتر را مدیریت کنید، نکات و روشهای مفیدی برای روانتر و کارآمدتر کردن جریان کار خود پیدا خواهید کرد. با اجرای بهترین شیوههای ارائه شده در این کتاب، میتوانید یک محیط توسعه پربازدهتر و هماهنگتر ایجاد کنید که در نهایت منجر به نرمافزار با کیفیت بالاتر و پروژههای موفقتر میشود.
بیشتر بخوانید: کتاب Refactoring with C#
آنچه کتاب Refactoring with C++ پوشش میدهد:
فصل 1: استانداردهای کدنویسی در C++
این فصل از کتاب Refactoring with C++، به دنیای کد تمیز و نقش حیاتی آن در پروژههای نرمافزاری موفق میپردازد. ما در مورد بدهی فنی و نحوه کمک کد با کیفیت پایین به تجمع آن بحث میکنیم. این فصل همچنین اهمیت قالببندی و مستندسازی کد را پوشش میدهد و بر نقش آنها در حفظ یک پایگاه کد قابل مدیریت و موثر تاکید میکند. ما قراردادها و بهترین شیوههای رایج استفاده شده در جامعه C++ را معرفی میکنیم و بر ضرورت کد تمیز و مستندسازی مناسب برای هر پروژه تاکید میکنیم.
فصل 2: اصول اصلی توسعه نرمافزار
این فصل از کتاب Refactoring with C++، اصول اصلی طراحی نرمافزار برای ایجاد کد ساختار یافته و قابل نگهداری را پوشش میدهد. ما در مورد اصول SOLID – مسئولیت واحد، باز-بسته، جایگزینی Liskov، جداسازی رابط و وارونگی وابستگی – بحث میکنیم که به توسعهدهندگان کمک میکند کدی بنویسند که به راحتی قابل درک، تست و اصلاح باشد.
ما همچنین بر اهمیت سطوح انتزاع، مفاهیم اثرات جانبی و تغییرپذیری و تاثیر آنها بر کیفیت نرمافزار تاکید میکنیم. با اعمال این اصول، توسعهدهندگان میتوانند نرمافزار قویتر، قابل اعتمادتر و مقیاسپذیرتر ایجاد کنند.
فصل 3: علل کد بد
این فصل از کتاب Refactoring with C++، عوامل اصلی منجر به کد پایین در C++ را شناسایی میکند. این عوامل شامل فشار برای تحویل سریع، انعطافپذیری C++ که اجازه میدهد چندین راه حل برای یک مشکل وجود داشته باشد، سبکهای کدنویسی شخصی و کمبود دانش در مورد ویژگیهای مدرن C++ است. درک این علل به توسعهدهندگان کمک میکند از اشتباهات رایج جلوگیری کنند و پایگاههای کد موجود را به طور موثر بهبود بخشند.
فصل 4: شناسایی نامزدهای ایدهآل برای بازنویسی – الگوها و ضد الگوها
این فصل از کتاب Refactoring with C++، بر شناسایی نامزدهای ایدهآل برای بازسازی در پروژههای C++ تمرکز دارد. ما عوامل موثر بر مناسب بودن بخشهای کد برای بازسازی مانند بدهی فنی، پیچیدگی و خوانایی ضعیف را بررسی خواهیم کرد. ما همچنین در مورد الگوها و ضد الگوهای رایج بحث خواهیم کرد و دستورالعملها و تکنیکهایی برای بهبود ساختار، خوانایی و قابلیت نگهداری کد بدون تغییر رفتار آن ارائه خواهیم داد. هدف این فصل تجهیز توسعهدهندگان به دانش برای بهبود کیفیت و استحکام پایگاههای کد C++ خود به طور موثر است.
فصل 5: اهمیت نامگذاری
این فصل از کتاب Refactoring with C++، بر نقش حیاتی قراردادهای نامگذاری در برنامهنویسی C++ تاکید میکند. نامهای مناسب برای متغیرها، توابع و کلاسها خوانایی و قابلیت نگهداری کد را افزایش میدهند. ما در مورد بهترین شیوهها برای نامگذاری، تاثیر نامگذاری ضعیف بر کارایی کد و اهمیت قراردادهای کدنویسی ثابت بحث میکنیم. با درک و اعمال این اصول، شما کد واضحتر و موثرتر خواهید نوشت.
فصل 6: استفاده از یک سیستم نوع استاتیک غنی در C++
این فصل سیستم نوع استاتیک قدرتمند در C++ را بررسی میکند و بر نقش آن در نوشتن کد قوی، کارآمد و قابل نگهداری تاکید میکند. ما در مورد تکنیکهای پیشرفته مانند استفاده از کتابخانه <chrono> برای مدت زمان، بستهبندیهای not_null و std::optional برای مدیریت ایمن اشاره گر بحث میکنیم.
علاوه بر این، ما به کتابخانههای خارجی مانند Boost برای افزایش ایمنی نوع نگاه میکنیم. از طریق مثالهای دنیای واقعی، نشان میدهیم که چگونه از این ابزارها برای استفاده کامل از پتانسیل سیستم نوع C++ استفاده کنیم و منجر به کد بیانگرتر و مقاومتر در برابر خطا شویم.
فصل 7: کلاسها، اشیاء و برنامهنویسی شیگرا در C++
این فصل از کتاب Refactoring with C++، به موضوعات پیشرفته در کلاسها، اشیاء و برنامهنویسی شیگرا (OOP) در C++ میپردازد. ما طراحی کلاس، پیادهسازی متد، وراثت و استفاده از الگو را پوشش میدهیم. موضوعات کلیدی شامل بهینهسازی کپسولهسازی کلاس، روشهای پیشرفته متد، ارزیابی وراثت در مقابل ترکیب و تکنیکهای پیچیده الگو است. مثالهای عملی این مفاهیم را نشان میدهند و به شما کمک میکنند تا معماریهای نرمافزاری قوی و مقیاسپذیر ایجاد کنید.
فصل 8: طراحی و توسعه API در C++
این فصل از کتاب Refactoring with C++، اصول و روشهای طراحی APIهای قابل نگهداری در C++ را بررسی میکند. ما اهمیت وضوح، سازگاری و گسترشپذیری در طراحی API را مورد بحث قرار میدهیم. از طریق مثالهای ملموس، بهترین شیوههایی را نشان میدهیم که به ایجاد APIهای شهودی، آسان برای استفاده و قوی کمک میکنند. با اعمال این اصول، شما APIهایی توسعه خواهید داد که نیازهای کاربر را برآورده میکنند و در طول زمان قابل انطباق میمانند و طول عمر و موفقیت کتابخانههای نرمافزاری شما را تضمین میکنند.
فصل 9: قالببندی کد و قراردادهای نامگذاری
این فصل از کتاب Refactoring with C++، نقش حیاتی قالببندی کد و قراردادهای نامگذاری در ایجاد نرمافزار قوی و قابل نگهداری را بررسی میکند. در حالی که این موضوعات ممکن است جزئی به نظر برسند، اما به میزان قابل توجهی خوانایی کد را افزایش میدهند، نگهداری را سادهتر میکنند و همکاری موثر تیم را تقویت میکنند، بهویژه در زبانهای پیچیدهای مانند C++.
ما به اهمیت قالببندی کد میپردازیم و دانش عملی در مورد استفاده از ابزارهایی مانند Clang-Format و افزونههای ویرایشگر خاص برای اجرای قالببندی ثابت را ارائه میدهیم. در پایان این فصل، شما اهمیت این شیوهها را درک خواهید کرد و نحوه اعمال موثر آنها در پروژههای C++ خود را خواهید آموخت.
فصل 10: مقدمهای بر تحلیل استاتیک در C++
این فصل از کتاب Refactoring with C++، نقش حیاتی تحلیل استاتیک در تضمین کیفیت و قابلیت اطمینان کد در توسعه C++ را مورد بحث قرار میدهد. ما در مورد نحوه شناسایی سریع و مقرون به صرفه باگها توسط تحلیل استاتیک صحبت میکنیم و آن را به یک جزء کلیدی تضمین کیفیت نرمافزار تبدیل میکنیم. ما به ابزارهای محبوب مانند Clang-Tidy، PVS-Studio و SonarQube میپردازیم و نحوه ادغام تحلیل استاتیک در جریان کاری توسعه شما را راهنمایی میکنیم.
فصل 11: تحلیل پویا
این فصل تحلیل پویای کد در C++ را بررسی میکند و بر ابزارهایی تمرکز میکند که رفتار برنامه را در حین اجرا برای تشخیص مشکلاتی مانند نشت حافظه، شرایط مسابقه و خطاهای زمان اجرا بررسی میکنند. ما به ابزارهای ضدعفونیکننده مبتنی بر کامپایلر مانند Address Sanitizer (ASan)، Thread Sanitizer (TSan) و Undefined Behavior Sanitizer (UBSan) همراه با Valgrind برای اشکالزدایی کامل حافظه میپردازیم. با درک و ادغام این ابزارها در جریان کاری توسعه خود، میتوانید کد C++ تمیزتر، کارآمدتر و قابل اعتمادتر را تضمین کنید.
فصل 12: تست
این فصل از کتاب Refactoring with C++، بر نقش حیاتی تست نرمافزار در تضمین کیفیت، قابلیت اطمینان و قابلیت نگهداری تاکید میکند. ما روشهای مختلف تست را پوشش میدهیم، از تست واحد برای اعتبارسنجی اجزای فردی شروع میکنیم، سپس به تست ادغام برای بررسی تعامل بین واحدهای یکپارچه میپردازیم.
سپس به تست سیستم برای ارزیابی جامع کل سیستم نرمافزاری میپردازیم و با تست پذیرش برای اطمینان از برآورده شدن نیازهای کاربر نهایی پایان میدهیم. با درک این روشها، شما نحوه پشتیبانی تست از توسعه نرمافزار قوی و مبتنی بر کاربر را درک خواهید کرد.
فصل 13: رویکرد مدرن برای مدیریت شخص ثالث
این فصل نقش حیاتی کتابخانههای شخص ثالث در توسعه C++ را مورد بررسی قرار میدهد. ما اصول اولیه مدیریت کتابخانههای شخص ثالث، از جمله تاثیر کامپایل استاتیک در مقابل پویا بر استقرار را بررسی میکنیم.
با توجه به عدم وجود یک اکوسیستم کتابخانه استاندارد در C++، ما ابزارهایی مانند vcpkg و Conan را برای درک مزایای آنها در ادغام و مدیریت کتابخانهها بررسی میکنیم. علاوه بر این، ما در مورد استفاده از Docker برای ایجاد محیطهای توسعه سازگار و قابل تکرار بحث میکنیم. در پایان این فصل، شما قادر خواهید بود کتابخانههای شخص ثالث را به طور موثر انتخاب و مدیریت کنید و جریان کار توسعه و کیفیت نرمافزار خود را بهبود بخشید.
فصل 14: کنترل نسخه
این فصل از کتاب Refactoring with C++، اهمیت حفظ یک تاریخچه کامیت تمیز در توسعه نرمافزار را برجسته میکند. ما در مورد بهترین شیوهها برای پیامهای کامیت واضح و هدفمند بحث میکنیم و ابزارهایی مانند Git، Conventional Commit Specification و commit linting را معرفی میکنیم. با پیروی از این اصول، توسعهدهندگان میتوانند ارتباط، همکاری و قابلیت نگهداری پروژه را بهبود بخشند.
فصل 15: بررسی کد
این فصل از کتاب Refactoring with C++، نقش حیاتی بررسی کد در تضمین کد C++ قوی و قابل نگهداری را بررسی میکند. در حالی که ابزارها و روشهای خودکار مزایای قابل توجهی دارند، اما بدون نقص هستند.
بررسی کد توسط بازبینان انسانی به شناسایی خطاهایی کمک میکند که ممکن است فرآیندهای خودکار از دست بدهند و اطمینان از رعایت استانداردها را تضمین کنند. ما در مورد استراتژیها و دستورالعملهای عملی برای بررسی موثر کد بحث میکنیم و بر نقش آنها در جلوگیری از باگها، بهبود کیفیت کد و تقویت فرهنگ مشارکتی یادگیری و مسئولیتپذیری تاکید میکنیم.
سرفصلهای کتاب Refactoring with C++:
- Refactoring with C++
- Contributors
- About the author
- About the reviewer
- Preface
- Chapter 1: Coding Standards in C++
- Chapter 2: Main Software Development Principles
- Chapter 3: Causes of Bad Code
- Chapter 4: Identifying Ideal Candidates for Rewriting – Patterns and Anti-Patterns
- Chapter 5: The Significance of Naming
- Chapter 6: Utilizing a Rich Static Type System in C++
- Chapter 7: Classes, Objects, and OOP in C++
- Chapter 8: Designing and Developing APls in C++
- Chapter 9: Code Formatting and Naming Conventions
- Chapter 10: Introduction to Static Analysis in C++
- Chapter 11: Dynamic Analysis
- Chapter 12: Testing
- Chapter 13: Modern Approach to Managing Third Parties
- Chapter 14: Version Control
- Chapter 15: Code Review
- Index
- Other Books You May Enjoy
جهت دانلود کتاب Refactoring with C++ میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.