{"product_id":"110270","title":"Code Writing Guide ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jYEEOLiZtvSIT42XUuOe5szD0mm6p.png?v=1765098378\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Code Writing Guide \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/125977771\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eBook Introduction\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003eHow can we write code that is easy to read and understand?\u003cbr\u003e A current LINE developer shares tips for writing readable code!\u003cbr\u003e From naming to how to review code!\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e If you are a developer, you may have had the experience of blaming yourself and thinking, \"Why did I write this code?\" \u003cbr\u003eIt can be frustrating when you find that the code isn't complicated, but it's hard to understand and can easily break with just a small change, or when you think it's perfect when you write it, but then look at it again a few months later and you can't understand it at all.\u003cbr\u003e The author has also had similar experiences several times.\u003cbr\u003e So, I thought about what makes code easy to read and how to write readable code, and based on my own experiences, I included in this book the principles for writing code that is easy to read and understand.\u003cbr\u003e\u003cbr\u003e The book begins by exploring why readable code is necessary and how code readability impacts development productivity through programming principles.\u003cbr\u003e It also covers naming methods, commenting methods, the internal structure of classes (states and functions), the structure between classes (dependencies), and how to review code from the perspective of readability, so that it can be applied directly to practice. \u003cbr\u003eIf you gradually improve your naming, you'll become accustomed to writing readable code, and you'll be able to build that strength by thinking about how you can apply it in the future.\u003cbr\u003e There's no right way to create readable code, but this book will guide you through figuring out the best approach for your situation.\u003cbr\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e\u003cli\u003e You can preview some of the book's contents.\u003cbr\u003e \u003cspan\u003ePreview\u003c\/span\u003e\n\n\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindex\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003eChapter 1: How to Write Readable Code\u003c\/b\u003e\u003cbr\u003e 1.1 Productivity Improvement\u003cbr\u003e __1.1.1 Relationship between development scale and productivity\u003cbr\u003e __1.1.2 Environment and evaluation system for improving readability\u003cbr\u003e 1.2 Requirements for writing readable code\u003cbr\u003e __1.2.1 Readability-related metrics\u003cbr\u003e __1.2.2 Things to keep in mind to improve readability\u003cbr\u003e 1.3 Representative programming principles\u003cbr\u003e __1.3.1 Boy Scout Principles\u003cbr\u003e __1.3.2 YAGNI\u003cbr\u003e __1.3.3 KISS\u003cbr\u003e __1.3.4 Single Responsibility Principle\u003cbr\u003e __1.3.5 Premature optimization is the root of all evil\u003cbr\u003e 1.4 Summary\u003cbr\u003e \u003cbr\u003e\u003cb\u003eChapter 2 Naming\u003c\/b\u003e\u003cbr\u003e 2.1 English grammar used in naming\u003cbr\u003e __2.1.1 Noun or noun phrase\u003cbr\u003e __2.1.2 Command\u003cbr\u003e __2.1.3 Other English Grammar\u003cbr\u003e __2.1.4 Why we ignore grammar and name things\u003cbr\u003e 2.2 What the name says\u003cbr\u003e __2.2.1 Example: Argument Names\u003cbr\u003e __2.2.2 Example: Function name\u003cbr\u003e __2.2.3 Exception: Abstract Methods\u003cbr\u003e 2.3 Word selection\u003cbr\u003e __2.3.1 Example: Choosing unambiguous words\u003cbr\u003e __2.3.2 Avoiding Confusing Abbreviations\u003cbr\u003e __2.3.3 Adding words that represent units or entities\u003cbr\u003e __2.3.4 Using positive words\u003cbr\u003e 2.4 Language, Platform, and Coding Conventions\u003cbr\u003e 2.5 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 3 Notes\u003c\/b\u003e\u003cbr\u003e 3.1 Types and Purposes of Comments\u003cbr\u003e 3.2 Documentation Notes\u003cbr\u003e __3.2.1 Anti-pattern\u003cbr\u003e __3.2.2 Structure of documentation comments\u003cbr\u003e __3.2.3 Summary of documentation comments\u003cbr\u003e __3.2.4 Details of documentation comments\u003cbr\u003e 3.3 Informal Annotations\u003cbr\u003e __3.3.1 Splitting large code\u003cbr\u003e __3.3.2 Explaining Non-Intuitive Code\u003cbr\u003e 3.4 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 4 Status\u003c\/b\u003e\u003cbr\u003e 4.1 When variable values ​​are more appropriate\u003cbr\u003e 4.2 Relationships between variables, orthogonal\u003cbr\u003e __4.2.1 Definition of orthogonality  \u003cbr\u003e__4.2.2 Method: Replacing with a function\u003cbr\u003e __4.2.3 Method: Replace with sum type\u003cbr\u003e 4.3 Design of state transitions\u003cbr\u003e __4.3.1 Immutability\u003cbr\u003e __4.3.2 Idempotency\u003cbr\u003e __4.3.3 Acyclic\u003cbr\u003e 4.4 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 5 Functions\u003c\/b\u003e\u003cbr\u003e 5.1 Function Responsibilities\u003cbr\u003e __5.1.1 Basic principles of function partitioning\u003cbr\u003e __5.1.2 Separation of Commands and Queries\u003cbr\u003e 5.2 Function Flow\u003cbr\u003e __5.2.1 Definition-Based Programming\u003cbr\u003e __5.2.2 Early Return\u003cbr\u003e __5.2.3 Splitting by manipulation target\u003cbr\u003e 5.3 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 6 Dependency Relationships\u003c\/b\u003e\u003cbr\u003e 6.1 Examples of Dependency Relationships\u003cbr\u003e 6.2 Strength of Dependency: Coupling\u003cbr\u003e __6.2.1 Combining Contents\u003cbr\u003e __6.2.2 Common joins and outer joins\u003cbr\u003e __6.2.3 Control Combination\u003cbr\u003e __6.2.4 Stamp Combination and Data Combination\u003cbr\u003e __6.2.5 Message Combination\u003cbr\u003e 6.3 Direction of dependence\u003cbr\u003e __6.3.1 Caller → Callee\u003cbr\u003e __6.3.2 Concrete → Abstract\u003cbr\u003e __6.3.3 Complex\/Variable → Simple\/Immutable\u003cbr\u003e 6.4 Duplication of Dependencies\u003cbr\u003e __6.4.1 Linked Dependencies\u003cbr\u003e __6.4.2 Duplication of the set of dependent objects\u003cbr\u003e 6.5 Explicitness of Dependencies\u003cbr\u003e __6.5.1 Antipattern 1: Excessive Abstraction\u003cbr\u003e __6.5.2 Antipattern 2: Implicit Value Ranges\u003cbr\u003e 6.6 Summary\u003cbr\u003e \u003cbr\u003e\u003cb\u003eChapter 7 Code Review\u003c\/b\u003e\u003cbr\u003e 7.1 Reviewer's Note 1: Creating Pull Requests That Are Easy to Review\u003cbr\u003e __7.1.1 Specifying the purpose of the pull request\u003cbr\u003e __7.1.2 Splitting pull requests\u003cbr\u003e __7.1.3 Structuring Commit\u003cbr\u003e 7.2 Reviewer's Note 2: Applying Review Comments\u003cbr\u003e __7.2.1 Finding the cause of incorrect opinions or questions\u003cbr\u003e __7.2.2 Understanding the intent of the proposal\u003cbr\u003e __7.2.3 Applying to other parts\u003cbr\u003e 7.3 Reviewer's Note 1: Reviewer's Principles\u003cbr\u003e __7.3.1 Do not neglect requested reviews.\u003cbr\u003e __7.3.2 Rejecting problematic pull requests\u003cbr\u003e __7.3.3 Don't be overly conscious of deadlines\u003cbr\u003e __7.3.4 Presenting 'opinions', not 'suggestions'\u003cbr\u003e 7.4 Reviewer's Note 2: Comment Content\u003cbr\u003e __7.4.1 Case Analysis\u003cbr\u003e 7.5 Summary\u003cbr\u003e\u003cbr\u003e \u003cb\u003eAppendix Kotlin Grammar Required for Reading This Book\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eDetailed image\u003c\/b\u003e \u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate4469\/MidCate002\/446817160(1).jpg\" border=\"0\" alt=\"Detailed Image 1\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eInto the book\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e Unless you're someone who codes only today, everyone cares about the quality of their code. \u003cbr\u003eSoftware development is not simply about implementing a product; it's a process of identifying and improving the root causes of problems and creating optimal results that take sustainability into account.\u003cbr\u003e This book will teach you the principles for writing high-quality code, while also helping you choose when and where to apply them.\u003cbr\u003e Code reviews, especially those covered in the final chapter, are a perfect opportunity to leverage the material in this book.\u003cbr\u003e\u003cbr\u003e As IT becomes the center of the world, we must also consider the responsibilities that software developers must shoulder.\u003cbr\u003e Code, by its very existence, becomes a liability that someone must maintain, so you must ensure that your code is not misunderstood by others, causing defects in your product or hindering productivity. \u003cbr\u003eRather than writing code that is “just meant to run” or “easy to write,” we need to write “reader-friendly code” so that all developers who encounter it can easily improve and extend it.\u003cbr\u003e\n\n\u003c\/div\u003e\n\u003cdiv\u003e --- From the translator's note\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003ePublisher's Review\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003eAre you going to create spaghetti code?\u003cbr\u003e Will you create code that is easy to read and modify?\u003cbr\u003e From code naming to code reviews, how to write code that improves readability.\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e “I have no idea what this code is doing”, “I need to change the specifications, but where do I start?” If you are a developer, you have probably experienced these things. \u003cbr\u003eSometimes, you come across code that is difficult to understand, has pitfalls everywhere, and can easily break with even the slightest change, even though it is clearly not implementing complex functions. Or, you may think your code is perfect and beautiful at the time you wrote it, but when you look at it again a few months later, you find yourself berating yourself, saying, \"Why did I write this code?\"\u003cbr\u003e So we must not lose sight of ‘code readability’.\u003cbr\u003e\u003cbr\u003e This book explains code readability and code review based on the author's experience reviewing and refactoring code on large-scale development projects while working at LINE.\u003cbr\u003e First, we'll talk about why readable code is necessary and programming principles, then we'll explain how to name code, how to write comments, the internal structure of classes (state and functions), and the dependencies between classes.\u003cbr\u003e It also provides guidance and methods for conducting code reviews within a team. \u003cbr\u003eBecause the book provides real-world Kotlin code examples throughout, you can clearly understand what you've learned in theory. \u003cbr\u003e\n\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e GOODS SPECIFICS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate of issue:\u003c\/strong\u003e April 12, 2024\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003ePage count, weight, size:\u003c\/strong\u003e 296 pages | 152*225*15mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13:\u003c\/strong\u003e 9791140709090 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893712060458,"sku":"110270","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/9ca9d38b06f89911282712ccc836614e.jpg?v=1765413228","url":"https:\/\/librairie.coreenne.fr\/en\/products\/110270","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}