Bad Programming Practices 101 -  Karl Beecher

Bad Programming Practices 101 (eBook)

Become a Better Coder by Learning How (Not) to Program

(Autor)

eBook Download: PDF
2018 | 1. Auflage
XXII, 221 Seiten
Apress (Verlag)
978-1-4842-3411-2 (ISBN)
Systemvoraussetzungen
46,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
This book takes a humorous slant on the programming practice manual by reversing the usual approach: under the pretence of teaching you how to become the world's worst programmer who generally causes chaos, the book teaches you how to avoid the kind of bad habits that introduce bugs or cause code contributions to be rejected.

Why be a code monkey when you can be a chaos monkey? OK, so you want to become a terrible programmer. You want to write code that gets vigorously rejected in review. You look forward to reading feedback plastered in comments like 'WTF???'. Even better, you fantasize about your bug-ridden changes sneaking through and causing untold chaos in the codebase. You want to build a reputation as someone who writes creaky, messy, error-prone garbage that frustrates your colleagues. Bad Programming Practices 101 will help you achieve that goal a whole lot quicker by teaching you an array of bad habits that will allow you to cause maximum chaos.

Alternatively, you could use this book to identify those bad habits and learn to avoid them. The bad practices are organized into topics that form the basis of programming (layout, variables, loops, modules, and so on). It's been remarked that to become a good programmer, you must first write 10,000 lines of bad code to get it all out of your system. This book is aimed at programmers who have so far written only a small portion of that. By learning about poor programming habits, you will learn good practices. In addition, you will find out the motivation behind each practice, so you can learn why it is considered good and not simply get a list of rules.


What You'll Learn
  • Become a better coder by learning how (not) to program
  • Choose your tools wisely
  • Think of programming as problem solving
  • Discover the consequences of a program's appearance and overall structure
  • Explain poor use of variables in programs
  • Avoid bad habits and common mistakes when using conditionals and loops
  • See how poor error-handling makes for unstable programs
  • Sidestep bad practices related specifically to object-oriented programming
  • Mitigate the effects of ineffectual and inadequate bug location and testing

Who This Book Is For

Those who have some practical programming knowledge (can program in at least one programming language), but little or no professional experience, which they would like to quickly build up. They are either still undergoing training in software development, or are at the beginning of their programming career. They have at most 1-2 years of professional experience.


Karl Beecher is a British writer, software developer and teacher based in Berlin, Germany. He specializes in taking meaty, complex ideas and presenting them in ways that are easy to understand.



This book takes a humorous slant on the programming practice manual by reversing the usual approach: under the pretence of teaching you how to become the world's worst programmer who generally causes chaos, the book teaches you how to avoid the kind of bad habits that introduce bugs or cause code contributions to be rejected.Why be a code monkey when you can be a chaos monkey? OK, so you want to become a terrible programmer. You want to write code that gets vigorously rejected in review. You look forward to reading feedback plastered in comments like "e;WTF???"e;. Even better, you fantasize about your bug-ridden changes sneaking through and causing untold chaos in the codebase. You want to build a reputation as someone who writes creaky, messy, error-prone garbage that frustrates your colleagues. Bad Programming Practices 101 will help you achieve that goal a whole lot quicker by teaching you an array of bad habits that will allow you to cause maximum chaos.Alternatively, you could use this book to identify those bad habits and learn to avoid them. The bad practices are organized into topics that form the basis of programming (layout, variables, loops, modules, and so on). It's been remarked that to become a good programmer, you must first write 10,000 lines of bad code to get it all out of your system. This book is aimed at programmers who have so far written only a small portion of that. By learning about poor programming habits, you will learn good practices. In addition, you will find out the motivation behind each practice, so you can learn why it is considered good and not simply get a list of rules.What You'll LearnBecome a better coder by learning how (not) to programChoose your tools wiselyThink of programming as problem solvingDiscover the consequences of a program's appearance and overall structureExplain poor use of variables in programsAvoid bad habits and common mistakes when using conditionals and loopsSee how poor error-handling makes for unstable programsSidestep bad practices related specifically to object-oriented programmingMitigate the effects of ineffectual and inadequate bug location and testingWho This Book Is ForThose who have some practical programming knowledge (can program in at least one programming language), but little or no professional experience, which they would like to quickly build up. They are either still undergoing training in software development, or are at the beginning of their programming career. They have at most 1-2 years of professional experience.

Karl Beecher is a British writer, software developer and teacher based in Berlin, Germany. He specializes in taking meaty, complex ideas and presenting them in ways that are easy to understand.

Chapter 1: Fundamentals of BadnessHow best to approach programming, in particular how to learn it, how to choose your tools wisely, and how tothink of programming as problem solving. Bad ways to learn programming Bad tooling Bad ways to approach a solution (or: programming is really problem-solving)Chapter 2: Layout and StructureShow the reader the consequences of a program’s appearance and overall structure. Make indentation and spacing poor and inconsistent Avoid structured programming, use lots of gotos Nest deeply - programmers like solving intricate puzzles Have lots of paths through a subroutine Clutter the code with extraneous tokens Avoid comments - code should be hard to read!Chapter 3: VariablesExplain poor use of variables in programs. Use obscure names - thinking up meaningful labels isn't worth the effort Consider declaration a waste of time Use global variables Thoroughly abuse the type systemChapter 4: ConditionalsDiscuss bad habits and common mistakes when using conditionals. Use long, complex expressions Forget the else clause - the computer will figure it out Mix up nominal cases with errors cases Make sure the cases overlap or have gapsChapter 5: LoopsDiscuss bad habits and common mistakes when using loops. Make 'em looooong! Give loops lots of exit points Avoid iterators - loop counters help make code convoluted and insecure Infinite loops are funChapter 6: SubroutinesShow the consequences of poorly-written subroutines. Write monolithic programs - after all, someone else will do the maintenance Make subroutines long and complex Use lots of local variables Use inconsistent return values to keep your colleagues on their toesChapter 7: Error-handlingExplain how poor error-handling makes for unstable programs. Never check inputs - users don't make mistakes Don't handle errors - just assume everything will always go well Don't check for null pointers If you must check values, do it as late as possible (a.k.a. defensive programming is for wimps)Chapter 8: ModulesDiscuss bad practices to follow when dividing a large program into pieces. Make modules big and hefty Ensure they expose their inner workings Give them rigid designs to prevent others from writing their pesky extensions Make them specific to one problem - why should others benefit from your work? Import all the things!Chapter 9: ObjectsDiscuss bad practices related specifically to object-oriented programming. Expose a class's internals - why should we have secrets? Put unrelated stuff together Objects are not independent - make them follow orders Keep coupling tight Favour deep inheritance hierarchies Avoid polymorphism - abstract code is harder to 'get' than abstract art Give classes multiple parents (a.k.a. classes shouldn't reproduce asexually)Chapter 10: Bugs and debuggingShow how to carry out ineffectual and inadequate ways to locate bugs and mitigate their effects. Write really unfriendly error messages - users shouldn't understand them anyway Don't discriminate between exception types Litter code with print messages Don't use debug levelsChapter 11: TestingShow how to carry out ineffectual and inadequate testing. Ignore the requirements when testing Leave testing until the very end Keep code coverage low Testing once is enough Avoid test automation tools

Erscheint lt. Verlag 8.2.2018
Zusatzinfo XXII, 221 p. 15 illus. in color.
Verlagsort Berkeley
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
Schlagworte anti patterns • Best Practices • Coding • Patterns • programming • Software
ISBN-10 1-4842-3411-1 / 1484234111
ISBN-13 978-1-4842-3411-2 / 9781484234112
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 3,0 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Entwicklung von GUIs für verschiedene Betriebssysteme

von Achim Lingott

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
39,99
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
44,90
Mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
29,99