Frustrated with programmers writing low-quality code? Don't hate the player, increase the game!

Improve code or improve software developers

How often do you hear complaints about wrong codes? Amid the jokes there is always an opinion that the system should be rewritten. A lot of those jokes are about how to rewrite things better this time. How to redesign the database schema. How to stealthily improve software during the implementation of a business requirement.

Among the “enhancement” or “rewrite” jokes, very little, almost nothing, is said about the encoders themselves. The same teams that have brought the software into a legacy state, want the opportunity to rewrite everything. To do everything right this time.

Madness. Doing the same thing and expecting different results

When programmers complain about the quality of the software and want to rewrite it, they can’t help but wonder what has changed. Ask them, and the answer will be that they were not given enough time to code correctly. They were too busy fighting fires to write software the way it should be written.

So the business has not changed. The pressures have not changed. The developers have not changed. Your sanity is being tested! Is it feasible to do the same things and expect different results?

Solutions to legacy problems

Are we missing a trick? Shouldn’t we just fire the guilty developers? And subcontract or abroad the development of a new system. Or renew the framework of the process.

Also, how about applying some controls to limit the number of afferent and efferent couplings a code unit can have? Perhaps it imposes restrictions on the cyclomatic complexity, or the dependency relations allowed.

Why are your developers not uploading your game?

Sure, consider the above proposals incessantly. Feel free to shoot without pulling enough weight. In this essay we focus on the software developers you have. We want to know why, despite your best efforts, the quality of your code is concise at best.

The path to improved application design

There are other methods to improve the quality of software that a computer writes. This article makes a bold, if not entirely surprising, claim. That “the way to software salvation” Home Grown Talent!

Growing technical talent

Its low-quality software, despite the excuses, can only be a claim that it has failed to get its software developers up to the standard necessary and sufficient to write business-class software.

We dig a little deeper, to discover why this skill gap unleashes a plague of locusts relentlessly gobbling up any discernible vestige of quality software.

More specifically, we will examine the current set of code styles and methodologies, and in doing so, we will pay particular attention to the experience that most of the world’s software developers actually have. Also, how much of this experience is spent on exploiting and implementing best practice software solutions.

Removing phrases from “industry”

Until now, in interview rooms, IT books, and tech dinners, software professionals log many speech cycles that in turn convey their favorite code styles. They discuss the best approaches to writing code. When it’s in full flow, you can see them pulling out phrases and acronyms for “industry” like

Object / Aspect Orientation, Band of Four (GoF), Top-Down

Test Driven (TDD), Model Driven (MDD), Use Case Driven

Xtreme, Lean, S.O.A, Restful & Inversion of Control (IoC)

Tops Down, Bottoms Up, (Oopsie), N Layer ArchitecturesThe Munitions of a Coder

There is no doubt that the above code styles are just a few of the many correct approaches to writing good quality software. The question is whether developers have these styles and strategies to deliver as weapons in their ammunition arsenal.

Explosion Examples of cannon fodder

It is evident, judging by the extremely high proportion of low-quality software within business applications, that computer programmers generally do not have the aforementioned techniques in their weapons arsenal.

We claim that the typical software developer only sees these code styles, these “programmer weapons”, in use, releasing examples of cannon fodder.

Leafing through a (fictional) rag from Weapons Today

What is really happening is similar to flipping through a copy of “Weapons Today” magazine (fictional) and then settling on a particular weapon. Still reading the magazine, our hypothetical hero nods, affirming his understanding of the power of the weapon.

Our hypothetical armchair hero may then watch a video of the “weapon” in action against a straw bail.

From the sublime to the ridiculous

Go ahead with our analogy. Our hero chair is still in his chair. Now believe, after reading about the capabilities of the weapons and seeing the weapon in use, that you can really use it! That would really go from the sublime to the ridiculous!

The real world is not cannon fodder. We need to get past the “examples” of cannon fodder that litter the How To Code Manuals pages in the real world. Cannon fodder is fine when you are learning. But a professional needs more.

In the world of programming, speed determines the winner

Bringing relaxing architectures to the software development table is like taking Kung-Fu into a street fight. Even those who have studied martial arts for a few years, would not be so foolish as to attempt to use it for true self-defense.

The realm of app feature implementation

A software developer resorts to what is instinctive when struggling to implement a set of application features. In the realm of implementing app features, instinct is king.

So if you’re a software team leader, IT manager, or CIO, don’t break your hair in frustration that software developers, despite their best efforts, simply can’t

practice test first development and good quality writing, high coverage tests

illustrate the discernible separation of concerns within the software they write

constantly reduces cyclomatic complexity and generally increases code quality

use hierarchies to reduce conditionals, or interfaces to reduce dependency Don’t hate the player. Raise the game

The lesson is this. If you want your software developers to be able to execute these styles, you will need to increase their maturity capacity. Reading books, or going to a course, only serves to make them aware that “something called [acronym or name]”exists.

Developing schooling in the Abstract Factory or Inversion of Control patterns is just the beginning. They are still a long way from being able to execute these coding styles and skills in a pressure scheduling situation.

Reduce the development skills gap

Generous artistic license bondages have been applied to equate Kung-Fu and street fighting with the art of writing software. If you suspend your disbelief or not, it is neither here nor there.

The intention is for you to seriously consider what you can add, to bridge the gap between an encoder who has attended a week-long course and one whose code reflects the virtues exposed by the academic fraternity of software developers.

Conceive How YOU TOO Can Easily be a Recording Fearless Asker Getting Paying To Humor Recording Games at Institution!: Click Here

Comentarios

Entradas populares