Giter Club home page Giter Club logo

ebooks's Introduction

eBooks - That Every Programmer Must Read Once

1. Clean Code: By Robert C. Martin

An epic book on software craftsmanship. The book not only tells you how to write good code, but also an effective way to 
develop and approach software development. It is sure to change your outlook on work.

Number of Pages: 462

Note that all examples in this book are in Java, although the learnings can be applied to any programming language.

Ideas Presented:

  • How to properly name a variable?
  • How to write a better method?
  • How to structure your code better?
  • What is the code smell?
  • Why another approach is better than this one?

2. Code Complete 1 & 2: A Practical Handbook of Software Construction - By Steve McConnell

A mammoth piece of work, a must read for anyone who wants to read all about programming constructs and best practices. 
Truly an encyclopaedic book - 960 pages in its most recent revision! Don't let the length of the book deter you, you can
consume it at your own pace. In the end, you will be thankful you read the book.

Every aspect of software development is explained in the book. Practical advice on everything ranging from code structure,
code formatting, variable. method and class naming, all the way up to managing a team.

Only a small percentage of software developers would have read this book, so you surely have an advantage if you read this
one. You can gain many a years worth of experience just by reading this book.

Ideas Represented:

  • Software craftsmanship, e.g, layout, style, character, themes and self-documentation
  • Coding, debugging, integration and testing for software development,
  • Other important software development aspects such as requirements and documentation,
  • The techniques of creating a high-quality code, code improvements and system considerations.

3. The Pragmatic Programmer: Your Journey to Mastery

A gem of a book! This is not your regular programming book with code, code and more code. In fact this is not about any 
particular programming language at all: the wisdom in this book applies to all programming languages.

Not only will this book change your coding habits, it will also change your personality as a programmer. It is filled 
with practical advice on getting the best of both you and your code.

Ideas presented:

  • Useful recommendations for estimates of time and expense
  • Introduces you to methods of work that you may not yet have considered.

4. The Clean Coder: A Code of Conduct for Professional Programmers

The second book from Rob Martin in this list. We recommend that you read this book after "Clean Code". Whilst "Clean Code" 
is about the code, this is about the "Coder".

The book explores topics that programmers often ignore

  • What does being professional programmer mean?
  • How to carry yourself as a true software craftsman
  • Dealing with conflict and tight schedules
  • How to manage your time? How can you expand your skills?
  • When to say “No”
  • Avoiding burnout
  • ..and more.

You may not always agree with the author but it provides good food for thought. It might be not what you expect, but may just be what you need.

5. Refactoring: Improving the Design of Existing Code

No matter how hard you try, the code you deliver will not be the most optimal unless improvements are made to it. 
Refactoring is to be made even if it working as expected. 

This book is written by y Martin Fowler is an essential book for software developers which offers start-to-finish 
strategies for working more effectively with large software and improving the design of existing code. 

The book then takes you through a tour of how make the improvements happen.

  • What are the indicator of bad smells in the code?
  • How to structure classes, methods and other logical pieces?
  • Unit tests for your code
  • How to move features from one object to another?
  • Refactoring tools
  • ..and more

A must read book on anyone on how to improve your existing code. Note that all code examples are in Java, but it shouldn't prevent you from grabbing a copy today!

6. Programming Pearls - by Jon Bentley

This book is slightly different from the other classics books on the list but this book is one of the most influential 
books to helps a person think like a programmer. Every concept is properly covered with practical problems and various 
effective and efficient solutions. This is pleasant to read because the writing style is simply great. 

This book is the best place to practice problems of data structure and algorithms especially searching, sorting, heaps 
etc. It Is really a masterpiece created by Jon Bentley fully justifying the nameProgramming Pearls”. 

ebooks's People

Contributors

divyesh008 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.