网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 易读代码的艺术(影印版)
分类
作者 (美)博斯韦尔//富彻
出版社 东南大学出版社
下载
简介
编辑推荐

作为程序员,我们经常看到一些充满Bug、让我们头痛不已的丑陋代码。在过去五年中,《易读代码的艺术(影印版)》的作者博斯韦尔(Dustin Boswell)和富彻(Trevor Foucher)分析了许多这样的“糟糕代码”(这些代码有很多是出自于他们自己之手),他们试图厘清为什么这些代码如此糟糕以及如何改进这些代码。他们得出的结论是:你必须写出让他人(这里也包括你自己)花费最少时间能够理解的代码。

目录

PREFACE

 CODE SHOULD BE EASY TO UNDERSTAND

 What Makes Code "Better"?

 The Fundamental Theorem of Readability

 Is Smaller Always Better?

 Does Time-TilI-UnderstandinR Conflict with Other Goals?

 The Hard Part

Part One SURFACE-LEVEL IMPROVEMENTS

 PACKING INFORMATION INTO NAMES

 Choose Specific Words

 Auoid Generic Names Like Imp and retual

 Prefer Concrete Names ouer Abstract Names

 Attachin9 Extra Information to a Name

 How Lon.g Should a Name Be?

 Use Name Formatting to Conuey Meaning

 Summary

 NAMES THAT CAN'T BE MISCONSTRUED

 Example: FilterO

 Example: Clip(text, length)

 Prefer rain and max for (Inclusiue) Limits

 Prefer first and last for Inelusiue RanRes

 Prefer herin and end for.lnclusiue/Exclusiue RanRes

 NaminR Booleans

 MatchinR Expectations of Users

 Example: EualuatinR Multiple Name Candidates

 Summary

 AESTHETICS

 Why Do Aesthetics Matter?

 BearranRe Line Breaks to Be Consistent and Compact

 Use Methods to Clean Up IrreRularity

 Use Column AliRnment When Helpful

 Pick a MeaninRful Order, and Use It Consistently

 OrRanize Declarations into Blocks

 Break Code into "Parafgraphs"

 Personal Style uersus Consistency

 Summary

 KNOWING WHAT TO COMMENT

 What NOT to Comment

 Becordin9 Your Thouyhts

 Put Yourself in the Reader's Shoes

 Final Thoughts--Getting Over Writer's Block

 Summary

 MAKING COMMENTS PRECISE AND COMPACT

 Keep Comments Compact

 Avoid Ambiguous Pronouns

 Polish Sloppy Sentences

 Describe Function Behavior Precisely

 Use Input/Output Examples That Illustrate Corner Cases

 State the Intent of Your Code

 "Named Function Parameter" Comments

 Use Information-Dense Words

 Summary

Part Two SIMPLIFYING LOOPS AND LOGIC

 MAKING CONTROL FLOW EASY TO READ

 The Order of Arguments in Conditionals

 The Order of if/else Blocks

 The ?: Conditional Expression (a.k.a. "Ternary Operator")

 Avoid dogwhile Loops

 Returning Early from a Function

 The Infamous goto

 Minimize Nesting

 Can You Follow the Flow of Execution?

 Summary

 BREAKING DOWN GIANT EXPRESSIONS

 Explainin9 Variables

 Summary Variables

 Using De Morgan's Laws

 Abusing Short-Circuit Logic

 Example: Wrestling with Complicated Logic

 Breaking Down Giant Statements

 Another Creative Way to Simplify Expressions

 Summary

 VARIABLES AND READABILITY

 Eliminatinfg Variables

 Shrink the Scope of Your Variables

 Prefer Write-Once Variables

 A Final Example

 Summary

Part Three REORGANIZING YOUR CODE

 EXTRACTING UNRELATED SUBPROBLEMS

 Introductory Example: findClosestLoeationO

 Pure Utility Code

 Other General-Purpose Code

 Create a Lot of General-Purpose Code

 Project-Specific Functionality

 Simplilying an Existing Interface

 Reshaping an Interface to Your Needs

 Taking Things Too Far

 Summary

 ONETASK ATA TIME

 Tasks Can Be Small

 Extracting Values from an Object

 A Larger Example

 Summary

 TURNING THOUGHTS INTO CODE

 Describing Logic Clearly

 Knowing Your Libraries Helps

 Applying This Method to Larger Problems

 Summary

 WRITING LESS CODE

 Don't Bother Implementing That Feature--You Won't Need It

 Question and Break Douan Your Requirements

 Keeping Your Codebase Small

 Be Familiar with the Libraries Around You

 Example: Using Unix Tools Instead of Coding

 Summary

Part Four SELECTED TOPICS

 TESTING AND READABILITY

 Make Tests Easy to Read and Maintain

 What's Wrong with This Test?

 Making This Test More Readable

 Making Error Messages Readable

 Choosing Good Test Inputs

 Naming Test Functions

 What Was Wrong with That Test?

 Test-Friendly Deuelopment

 Going Too Far

 Summary

 DESIGNING AND IMPLEMENTING A "MINUTE/HOUR COUNTER"

 The Problem

 Defining the Class Interface

 Attempt 1: A Naiue Solution

 Attempt 2: Conueyor Belt Design

 Attempt 3: A Time-Bucketed Design

 Comparing the Three Solutions

 Summary

 FURTHER READING

 INDEX

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/1 17:38:23