万本电子书0元读

万本电子书0元读

顶部广告

Understanding Software电子书

售       价:¥

2人正在读 | 0人评论 9.8

作       者:Max Kanat-Alexander

出  版  社:Packt Publishing

出版时间:2017-09-29

字       数:154.8万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Software legend Max Kanat-Alexander shows you how to succeed as a developer by embracing simplicity, with forty-three essays that will help you really understand the software you work with. About This Book ? Read and enjoy the superlative writing and insights of the legendary Max Kanat-Alexander ? Learn and reflect with Max on how to bring simplicity to your software design principles ? Discover the secrets of rockstar programmers and how to also just suck less as a programmer Who This Book Is For Understanding Software is for every programmer, or anyone who works with programmers. If life is feeling more complex than it should be, and you need to touch base with some clear thinking again, this book is for you. If you need some inspiration and a reminder of how to approach your work as a programmer by embracing some simplicity in your work again, this book is for you. If you’re one of Max’s followers already, this book is a collection of Max’s thoughts selected and curated for you to enjoy and reflect on. If you’re new to Max’s work, and ready to connect with the power of simplicity again, this book is for you! What You Will Learn ? See how to bring simplicity and success to your programming world ? Clues to complexity - and how to build excellent software ? Simplicity and software design ? Principles for programmers ? The secrets of rockstar programmers ? Max’s views and interpretation of the Software industry ? Why Programmers suck and how to suck less as a programmer ? Software design in two sentences ? What is a bug? Go deep into debugging In Detail In Understanding Software, Max Kanat-Alexander, Technical Lead for Code Health at Google, shows you how to bring simplicity back to computer programming. Max explains to you why programmers suck, and how to suck less as a programmer. There’s just too much complex stuff in the world. Complex stuff can’t be used, and it breaks too easily. Complexity is stupid. Simplicity is smart. Understanding Software covers many areas of programming, from how to write simple code to profound insights into programming, and then how to suck less at what you do! You'll discover the problems with software complexity, the root of its causes, and how to use simplicity to create great software. You'll examine debugging like you've never done before, and how to get a handle on being happy while working in teams. Max brings a selection of carefully crafted essays, thoughts, and advice about working and succeeding in the software industry, from his legendary blog Code Simplicity. Max has crafted forty-three essays which have the power to help you avoid complexity and embrace simplicity, so you can be a happier and more successful developer. Max's technical knowledge, insight, and kindness, has earned him code guru status, and his ideas will inspire you and help refresh your approach to the challenges of being a developer. Style and approach Understanding Software is a new selection of carefully chosen and crafted essays from Max Kanat-Alexander's legendary blog call Code Simplicity. Max’s writing and thoughts are great to sit and read cover to cover, or if you prefer you can drop in and see what you discover new every single time!
目录展开

Understanding Software

Table of Contents

Understanding Software

Credits

About the Author

www.PacktPub.com

eBooks, discount offers, and more

Why subscribe?

Customer Feedback

Foreword

One. Principles for Programmers

1. Before You Begin…

If You're Going To Do It Then Do it Well

2. The Engineer Attitude

3. The Singular Secret of the Rockstar Programmer

4. Software Design, in Two Sentences

Two. Software Complexity and its Causes

5. Clues to Complexity

6. Ways To Create Complexity: Break Your API

7. When Is Backwards-Compatibility Not Worth It?

8. Complexity is a Prison

Three. Simplicity and Software Design

9. Design from the Start

Starting the Right Way

10. The Accuracy of Future Predictions

11. Simplicity and Strictness

12. Two is Too Many

Refactoring

13. Sane Software Design

The Wrong Way

Analysis of The Wrong Way

Bringing It To a Group

The Right Way

We followed all the Laws Of Software Design

Four. Debugging

14. What is a Bug?

Hardware

15. The Source of Bugs

Compounding Complexity

16. Make It Never Come Back

Make it Never Come Back – An Example

Down the Rabbit Hole

17. The Fundamental Philosophy of Debugging

Clarify the Bug

Look at the System

Find the Real Cause

Four Steps

Five. Engineering in Teams

18. Effective Engineering Productivity

So What Should You Do?

The Solution

Credibility and Solving Problems

The Blocker

Moving Towards the Fundamental Problem

19. Measuring Developer Productivity

The Definition of "Productivity"

Why Not "Lines of Code?"

Determining a Valid Metric

What About When Your Product Is Code?

What about People Who Work on Developer Productivity?

Conclusion

20. How to Handle Code Complexity in a Software Company

Step 1 – Problem Lists

Step 2 – Meeting

Step 3 – Bug Reports

Step 4 – Prioritization

Step 5 – Assignment

Step 6 – Planning

21. Refactoring is about Features

Being Effective

Setting Refactoring Boundaries

Refactoring Doesn't Waste Time, It Saves It

Refactoring To Clarity

Summary

22. Kindness and Code

Software is about People

An Example of Kindness

Be Kind, and Make Better Software

23. Open Source Community, Simplified

Retaining Contributors

1. Don't freeze the trunk for long periods

2. Turnover is inevitable

3. Respond to contributions immediately

4. Be extremely kind and visibly appreciative

5. Avoid personal negativity

Removing the Barriers

1. A list of easy starting projects

2. Create and document communication channels

3. Excellent, complete, and simple documentation, describing exactly how a contribution should be done

4. Make all this documentation easy to find

Getting People Interested

Be a super-popular product

Be written in a popular programming language

Summary

Six. Understanding Software

24. What is a Computer?

25. The Components of Software: Structure, Action, and Results

26. Software Revisited: (I)SAR Clarified

Structure

Action

Results

ISAR in a Single Line of Code

Wrapping SAR Up

27. Software as Knowledge

28. The Purpose of Technology

Are there Counter-Examples to this Rule?

Is the Advance of Technology "Good"?

29. Privacy, Simplified

Privacy of Space

Privacy of Information

A Summary of Privacy

30. Simplicity and Security

31. Test-Driven Development and the Cycle of Observation

Examples of ODA

Development Processes and Productivity

The First ODA

32. The Philosophy of Testing

Test Value

Test Assertions

Test Boundaries

Test Assumptions

Test Design

End to End Testing

Integration Testing

Unit Testing

Reality

Fakes

Determinism

Speed

Coverage

Conclusion – The Overall Goal of Testing

Seven. Suck Less

33. The Secret of Success: Suck Less

Why is it that this worked?

34. How We Figured Out What Sucked

35. The Power of No

Recognizing Bad Ideas

Having No Better Idea

Clarification: Acceptance and Politeness

36. Why Programmers Suck

What to Study

37. The Secret of Fast Programming: Stop Thinking

Understanding

Drawing

Starting

Skipping a Step

Physical Problems

Distractions

Self-Doubt

False Ideas

Caveat

38. Developer Hubris

39. "Consistency" Does Not Mean "Uniformity"

40. Users Have Problems, Developers Have Solutions

Trust and Information

Problems Come from Users

41. Instant Gratification = Instant Failure

Solving for the long term

How to Ruin Your Software Company

42. Success Comes from Execution, Not Innovation

43. Excellent Software

1. Does exactly what the user told it to do

2. Behaves exactly like the user expects it to behave

3. Does not block the user from communicating their intention

Excellence is senior to (but is not in conflict with) code simplicity

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部