Bad Programming Practices 101: Become a Better Coder by Learning How (Not) to Program

Apress
Free sample

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.
Read more
Collapse

About the author

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.

Read more
Collapse
Loading...

Additional Information

Publisher
Apress
Read more
Collapse
Published on
Feb 8, 2018
Read more
Collapse
Pages
221
Read more
Collapse
ISBN
9781484234112
Read more
Collapse
Read more
Collapse
Read more
Collapse
Language
English
Read more
Collapse
Genres
Computers / Information Technology
Computers / Programming / General
Computers / Programming Languages / General
Computers / Software Development & Engineering / General
Read more
Collapse
Content Protection
This content is DRM protected.
Read more
Collapse
Read Aloud
Available on Android devices
Read more
Collapse

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
The second half of the twentieth century saw an astonishing increase in computing power; today computers are unbelievably faster than they used to be, they have more memory, they can communicate routinely with remote machines all over the world - and they can fit on a desktop. But, despite this remarkable progress, the voracity of modem applications and user expectations still pushes technology right to the limit. As hardware engineers build ever-more-powerful machines, so too must software become more sophisticated to keep up. Medium- to large-scale programming projects need teams of people to pull everything together in an acceptable timescale. The question of how pro gram mers understand their own tasks, and how they fit together with those of their colleagues to achieve the overall goal, is a major concern. Without that under standing it would be practically impossible to realise the commercial potential of our present-day computing hardware. That programming has been able to keep pace with the formidable advances in hardware is due to the similarly formidable advances in the principles for design, construction and organisation of programs. The efficacy of these methods and principles speaks for itself - computer technology is all-pervasive - but even more telling is that they are beginning to feed back and inftuence hardware design as weIl. The study of such methods is called programming methodology, whose topics range over system-and domain-modelling, concurrency, object orientation, program specification and validation. That is the theme of this collection.
Everything you need to start working with React 16 and assess React FiberAbout This BookHands-on examples and tutorials for the latest React 16 releaseAssess the impact of React Fiber for your future web developmentBuild maintainable and high performance React 16 web applicationsWho This Book Is For

If you're a frontend developer with some knowledge of native JavaScript development and frontend frameworks, wishing to learn the fastest web user interface library there is, then this book is ideal for you.

What You Will LearnLearn to code React 16 with hands-on examples and clear tutorialsInstall powerful React 16 tools to make development much more efficientUnderstand the impact of React Fiber today and the future of your web developmentUtilize the Redux application architecture with your React componentsCreate React 16 elements with properties and childrenGet started with stateless and stateful React componentsUse JSX to speed up your React 16 development processAdd reactivity to your React 16 components with lifecycle methodsTest your React 16 components with the Jest test frameworkIn Detail

React 16 Essentials, Second Edition, fully updated for React 16, takes you on a fast-paced journey through building your own maintainable React 16 applications. React experts Artemij Fedosejev and Adam Boduch give you all the essentials you need to know and start working with React 16, in this new edition of the best-selling React.js Essentials title. You'll find the latest React 16 code updates, assessment of React Fiber, new coverage of Redux, and how to work as a modern React developer.

The authors offer you their current assessment of React Fiber, and you'll soon be exploring React 16 hands on, creating your own single and multiple user interface elements with React 16. You'll then see how to create stateless and stateful components and make them reactive. You'll also learn to interact between your components and lifecycle methods, and gauge how to effectively integrate your user interface components with other JavaScript libraries. Delve deep into the core elements of the Redux architecture and learn how to manage your application and data persistence. Then go the extra mile with the Jest test framework, and run multiple tests on your applications and find solutions to scale without complexity.

Today React is used by Facebook, Instagram, Khan Academy, and Imperial College London, to name a few. Many new users recognize the benefits of React and adopt it in their own projects, forming a fast-growing community. The speed at which React has evolved promises a bright future for anyone who invests in learning it today. Let Artemij and Adam bring you a brand new look at React 16 and React Fiber, and move your web development into the future.

Style and approach

React 16 Essentials, Second Edition, will take you on a fast-paced, hands-on journey through building your own maintainable React 16 applications.

You Will Learn Python!

Zed Shaw has perfected the world's best system for learning Python. Follow it and you will succeed-just like the hundreds of thousands of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else.

In Learn Python the Hard Way, Third Edition, you'll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you'll learn how software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use. Most importantly, you'll learn the following, which you need to start writing excellent Python software of your own:

Installing a complete Python environment Organizing and writing code Basic mathematics Variables Strings and text Interacting with users Working with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Debugging Automated testing Basic game development Basic web development

It'll be hard at first. But soon, you'll just get it-and that will feel great!

This tutorial will reward you for every minute you put into it. Soon, you'll know one of the world's most powerful, popular programming languages. You'll be a Python programmer.

Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete Python video course!

Take your application development skills to the next level by implementing Spring Boot features effectivelyKey FeaturesThis collection of effective recipes serves as guidelines for Spring Boot application developmentGet up to date with features of the latest version of Spring Boot 2.0Tips and tricks to improve your efficiency through the stages of software developmentBook Description

The Spring framework provides great flexibility for Java development, which also results in tedious configuration work. Spring Boot addresses the configuration difficulties of Spring and makes it easy to create standalone, production-grade Spring-based applications.

This practical guide makes the existing development process more efficient. Spring Boot Cookbook 2.0 Second Edition smartly combines all the skills and expertise to efficiently develop, test, deploy, and monitor applications using Spring Boot on premise and in the cloud. We start with an overview of the important Spring Boot features you will learn to create a web application for a RESTful service. Learn to fine-tune the behavior of a web application by learning about custom routes and asset paths and how to modify routing patterns. Address the requirements of a complex enterprise application and cover the creation of custom Spring Boot starters.

This book also includes examples of the new and improved facilities available to create various kinds of tests introduced in Spring Boot 1.4 and 2.0, and gain insights into Spring Boot DevTools. Explore the basics of Spring Boot Cloud modules and various Cloud starters to make applications in “Cloud Native” and take advantage of Service Discovery and Circuit Breakers.

What you will learnGet to know Spring Boot Starters and create custom auto-configurationsWork with custom annotations that enable bean activationUse DevTools to easily develop and debug applicationsLearn the effective testing techniques by integrating Cucumber and SpockObserve an eternal application configuration using ConsulMove your existing Spring Boot applications to the cloudUse Hashicorp Consul and Netflix Eureka for dynamic Service DiscoveryUnderstand the various mechanisms that Spring Boot provides to examine an application’s healthWho this book is for

This book is for Java Developers who have good knowledge and understanding of Spring and Java application development.

©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.