Code And Fix

perso.club-internet.fr

Code And Fix - one year of slamming code, five years of debugging.


"Do not mistake a Code And Fix effort for a Lightweight Methodologies effort."

A table contrasting them:

'''LightweightMethodologies''' '''CodeAndFix''' AcceptanceTest''''''s BetaTesting CodingStandard''''''s Whatever each programmer preferred to use that day. CommitmentSchedule But that was working yesterday ContinuousIntegration IntegrationHell (or maybe just COM) DesignByContract We ain't using Eiffel here... DontRepeatYourself CopyAndPasteProgramming FrequentReleases We can't show them ''that''! FortyHourWeek''''''s Drugs CollectiveCodeOwnership I can't fix this until Frank fixes that OnsiteCustomer Get out of my cube I'm working! PeerReview Get out of my cube I'm working! PlanningGame Just e-mail us a requirements document. (We have a system for this...) ReFactoring Don't touch that you might break it! UnitTest There's NotEnoughTime for that YouArentGonnaNeedIt YouMightNeedIt (see GoldPlating) SystemMetaphor The AnalysisDocument

Contributors:

(mostly) Phl Ip, Jeff Grigg (just a little)


Ron deserves props for identifying my true realm of expertise!!! -- Phl Ip


The methodology of choice for a Real Programmer.


I'll amen this, Lightweight Methodologies are nothing like Code And Fix. However, sometimes I wonder if I wouldn't prefer Code And Fix to an Overweight Methodology!! -- Robert Di Falco

But then you'd Code Unit Test First. Then you'd order someone to prioritize your feature list. Then you'd apply OAOO and Refactor Mercilessly. Then...

Yep!


This page seems heavy on attitude and light on information. I understand the attitude on this page - I Have This Attitude (see Have This Pattern).

I never heard of Code And Fix before - I heard of Code And Test, which makes a bit more sense. After all, fixing is coding. Code And Fix is indeed one of the Lightweight Methodologies! It's so light that the entire method fits into its name.

How can we discuss the goodness or badness of something like this without some reference to the context in which it is used? Code And Test works well for most beginners crafting a small system for their own personal use.

Most of the stuff in the right hand column far above has nothing to do with the development kernel consisting only of coding and testing. It has to do with unhelpful attitudes. Is there some value in keeping the two separate, I wonder? To what extend does an unhelpful attitude push developers to eschew practices that are neither coding nor testing?

When Code And Test fails of its own accord (not just because it happens to be the method of choice of developers with bad attitude), why does it fail? -- Walden Mathews

This page follows the Code And Fix definition from the book Rapid Development. It is simply the easiest, most neophytic "process" there is: No Process.

So many people do it (even when they say they are doing something else) that it must be documented and understood somewhere. -- PCP

Code And Fix sounds like a term that was made up by a marketing person, perhaps one that was selling tools for Big Design Up Front, who wanted something that every customer could recognize in themselves and also feel guilty about.


Code And Fix is not a methodology that might someday make sense. It is defined (per Rapid Development) as the most primitive and least productive methodology possible. Therefore anything you, an engineer who knows how not to f*** up projects, can think to do will make sense, and won't be Code And Fix. I really doubt you'd abandon User Stories, Frequent Releases or Design By Contract just because of the language or time frame involved.

Further, you should hope that your 1-week of effort might someday be reused or extended or versioned, in which case you'd want it to be presentable, right?

About Asp Unit, following the rule "don't test getters and setters", I disregard testing the outermost "skin". I push all the biz logic up into a Java Script* file, and then I include that into both the skin.asp file and the test.asp file. The latter just calls all the functions and streams each test's title out into the page. Come to think of it, the project I have in mind lasted about a week ;-)

This is server-side Java Script. Don't gross me out.

See original on c2.com