This is primarily a philosophy: in the course of daily life we are presented with a plethora of choices. How does a person know what to do? How do they allocate their resources of time and money? One Pattern is to DoTheRightThing. Larger questions are: * Do the RightThing for Whom? * What if the RightThing to do now may cause the Wrong Thing in the future? * What is the basis of Right (or, can you be Right without being Righteous)? ---- Compare with DoTheThingRight. ---- Why do you call this a Pattern? I don't want to trigger a semantic argument here, but isn't a Pattern a type of recurring situation with some distinct, competing causal factors or tendencies operating, and some nice little rule for addressing all of them simultaneously? Why not have "Patterns" like GuessTheRightAnswer and MaximizeGoodness? ---- '''Funny Story''' The product development team showed the company president the product for the first time. It was a box with a red button, a green button, and a blue button. "What does the green button do?" asked the president. "Oh, that button starts the thing," said the project manager. The president nodded. "What does the red button do?" asked the president. "Oh, that button stops the thing," said the project manager. The president nodded. "What does the blue button do?" asked the president. "Oh, that button does nothing, but it makes marketing happy," smirked the project manager. The president scratched his head and went back to his office. The next day, Bill, the marketing manager was fired, and the engineering manager was asked into the president's office. As he waited for the president to return from a meeting he thought confidently to himself that he would surely be rewarded for designing a good product and suspected that the president would request that the third, useless button be removed. The president returned and spoke. "When I saw the new product, I was shocked that Bill would let you design a product that made only one third of our customers happy, so I fired him. Now go back and re-engineer the product to get rid of the red and green buttons or you're next." ---- Real world explanation by an Observer: The green button starts it, the red button stops it, the blue button restarts it when it has stopped by some non human interface reason and the operator is sure it is safe to do so. (How many times I have gone to a system printer and found that my printout, and the printouts of many others standing in wait for theirs to come out. so I DoTheRightThing, using the blue button approach - I turn the thing off and then back on again. [works 90% of the time] I only wish the manufacturers would put a blue button on such temperamental devices initiating the same action.) ''Hey! I know that BlueButton -- on the older IBM machines it says "IPL" on it -- InitialProgramLoad, nowadays called "boot".'' ---- I offer an analogy. DoTheRightThing is to JustMakeItWork as DontDoTheWrongThing is to MakeItSecure. I think this needs some refinement though. Maybe it's a good StartingPoint for a more useful thought. ---- ''Moved from Do''''''Whats''''''Right:'' The meaning of "right" is one of those wonderfully emotionally charged things that is biased by "belief," teaching, and experience. In spite of this, I assert that there is a usable practical definition: Right: tending to promote or aid the survival of the greatest scope of life to a greater degree than any associated destruction. What's good for me and my family may not be good for the chicken or the cow. Power is often confused with rightness. A laser brings power, where you point it determines its rightness or wrongness. In its most limited context, "right" is that which forwards your personal goals (your chosen Life Vector). -- GarryHamilton ''Explaining why it is important to do the RightThing at any point is very hard. Thinking that something is right takes experience, being correct takes more, but being able to explain it is something else. Psychology maybe? See ProgrammingValueSystem.'' ---- Paraphrased from the "Engineer's Handbook" of a very successful computer hardware manufacturer: : ''Sometimes your management will instruct you to do something that you know to be mistaken. Your obligation is to '''do what's right''', trusting that your management will ultimately figure out their mistake. By the way -- you'd better be right.'' See: LifeVectors ---- Answering the questions introduced; Do the RightThing for Whom? -- Do the right as you understand right to be. Keeping in mind that your actions are not without consequences for others. Apply the rightness test in light of this. ---- What if the RightThing to do now may cause the Wrong Thing in the future? Do what is right in the present. If it will cause a negative thing in the future, it is not the RightThing now. (Some times the RightThing now can be changed in the future in the light of changing conditions) Example: Is it right to buy stock now, or should I sell stock? ---- What is the basis of Right (or, can you be Right without being Righteous)? To paraphrase Forest Gump: "Righteous is as Righteous does". Right is not a difficult, nebulous thing that has no handle, it is understandable in light of the societies norms and expectations. When it becomes difficult to understand what right is, one should pay much attention to the production of as positive and helpful effects with a minimum of negative and destructive effects by what one does. Being Righteous is not a BadThing. Being Self-righteous is. -- AnonymousOnPurpose ---- This is a good term for a programmer to use when their boss is concerned that what they are working on works and is asking "what happens if X, Y and Z conditions occur" and they are not getting your diagrams, code or any other explanation. To say "it will DoTheRightThing" can offer some comfort that you know what you are doing and have things under control. Also in designing systems to begin with behaviour should be logical and have some portion of CommonSense. I hate clicking movie sites, choosing a movie, then clicking a theatre, then having to choose a movie again because it does not remember what movie I started with (which is easily done with HiddenVariables). They have given enough thought to common UseCases and the site does not DoTheRightThing. ---- Also, DoTheRightThing is a movie by SpikeLee.. ---- Then there's the principle of BeforeYouDoAnything ---- See also DoTheThingRight ---- CategorySuccess