Название: Software Engineering Made Easy Автор: Marco Gähler Издательство: Leanpub Год: 2024-06-27 Страниц: 465 Язык: английский Формат: pdf (true), azw3, mobi, epub Размер: 10.1 MB
Did you learn what a class is but nobody told you how to use it exactly? This book explains it to you. Among 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 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, jаvascript, 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. Though there are only a few things that depend on the programming language. Most of the explanations provided here consist of general recommendations that are applicable to almost any programming language.
Who this book is for: This book was initially intended for PhD students. I know quite a few who spend a lot of time programming but have never really learned how to do it properly. After learning the basic syntax of a programming language, they began writing code. But it was dreadful. They never learned how to write good code. They never learned about the necessity of small class sizes or the significance of tests. And there are many more points that I am going to explain throughout this book.
Of course, this book is not only for PhD students. There are also many programmers who never learned proper software engineering. Though as you are reading this book here, chances are that you have already read some other books and that you are familiar with many of the things I am writing about. But I believe there are still some novel ideas in this book that you can utilize to enhance your code.
At the same time, I’d like to mention what this book isn’t about. It doesn’t teach you fancy modern topics in computer science. It doesn’t teach you how to develop artificial intelligence, high-performance computing, web development, databases, distributed systems, etc. I simply lack the scope and knowledge to cover all these topics. Though I’m confident that the principles taught throughout this book will help you with these topics, as they all require good software engineering skills.