Sign up
Forgot password?
FAQ: Login

Gaehler Marco. Software Engineering Made Easy

  • pdf file
  • size 1,05 MB
Gaehler Marco. Software Engineering Made Easy
Leanpub, 2024. — 465p.
Did you learn what a class is but nobody told you how to use it exactly? This book explains it to you. Along with 49 other things.
"Any fool can write code a computer can understand. Good programmers write code humans can understand" - Martin Fowler.
There is an infinite amount of possibilities for how you can write code with a certain output. But which is the best one? The one you understand most easily. This book covers everything that I could think of. From naming to classes, comments, and even some small chapters on software architecture or requirements engineering.
Currently, the book is about version 0.8. It is very well readable and has been mostly corrected using an AI tool, but it still has a few comments about things left to do. I would be very pleased with any feedback you could send to me.
This book contains relatively few code examples. It’s more about general concepts of software engineering, rather than concrete code examples. Still, some concepts are easier to understand with a few lines of code. Therefore, I tried to create some code examples. Even though it’s quite challenging to find concise examples that are still expressive enough to fit into a book. As for the programming languages I chose, mostly Python and some C++. Not because these languages would be better than, for example, JavaScript, but rather because these are the languages I know. I chose two programming languages because there are some concepts that I can only explain using one or the other. However, there are only a few things that depend on the programming language. Most of the explanations provided here consist of general recommendations that apply to almost any programming language.
Introduction to Software Engineering.
Getting started.
One sentence summary.
The short story behind this book.
Software Engineering.
Good code: a list of rules.
Understandable code.
Single Responsibility Principle.
Levels of abstraction.
Interfaces.
Naming.
Functions.
Classes.
Inheritance.
Data Types.
Properties of Variables.
Introduction to Testing.
Types of Tests.
Writing Better Code with Tests.
SOLID principles.
Software Engineering Principles.
Programming Paradigms.
Programming Languages Java and C++.
Physical Laws of Code.
Bugs, Errors, Exceptions.
Complexity.
Dependencies.
Decoupling.
Software Architecture.
Design Patterns.
Domain Driven Design.
3rd party software.
Refactoring Fundamentals.
Refactoring Techniques.
Refactoring Legacy Code.
Performance Optimization.
Comments.
Logging.
Data files.
Setting up a project.
Tools.
Working in teams.
Code review.
Agile.
Requirements Engineering.
Planning.
DevOps.
Mental health.
Hiring and getting hired.
Examples.
About Copilot.
Further reading.
Outlook.
Frequently used Abbreviations.
  • Sign up or login using form at top of the page to download this file.
  • Sign up
Up