User Tools

Site Tools


principles:uniformity_principle

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
principles:uniformity_principle [2025-08-31 01:28] – created andymatney560principles:uniformity_principle [2025-08-31 14:13] (current) – old revision restored (2021-10-18 22:00) christian
Line 1: Line 1:
-Apart from this, the Rushmore Casino is another online casino which worth giving a try due towards the high pay-outs again notwithstanding that it's very ?????? bj88 new in the online gambling industry. Application that they make use of is a definite time technology. Apart from this, it is equipped a top class customer support management.+====== Uniformity Principle (UP) ======
  
-And what's great about online casinos is their casino incentives. Caribbean Gold Casino is providing $150 for their Sign Up Bonus. And other bonuses which ?????? bj88 can avail when playing in Caribbean Gold Net casino.+===== Variants and Alternative Names =====
  
-Nokia has been the most trendy brand of mobile phones who produced some astonishing models to the customers drugs their lives easy and full of throttle. Their new model Nokia N96 is for the specific, avid and unique people who love Nokia mobiles for the sake of everything - performance, looks, color and ability to move! 
  
-His first foray into real estate was the same as mine- buying trailers- fixing them up, and selling in your profit. John got from the the service, moved at home to California, and repeated the process there on the cheapest houses he discover. Over time, he was a ?????? bj88 realtor, built a familyand been for a while with lots of properties. He previously sold majority of his properties in California for huge profits, transferred to Colorado, certain to had over 70 units in course home.+===== Context ===== 
 +/* fill in contexts here: */ 
 +  * [[contexts:Object-Oriented Design]] 
 +  * [[contexts:API Design]] 
 +  * [[contexts:Architecture]] 
 +  * [[contexts:User Interface Design]] 
 +  * [[contexts:Implementation]] 
 +  * [[contexts:Documentation]]
  
-When wallpapers are downloaded to the handset, provides a very warm feel. The pictures can be viewed with the 2" OLED QVGA display that runs on the capability to help with 16 million colours. This specific unit supports the users when very good in the atmosphere for playing videos and watching pictures; all these keep customers more than adequately having fun. The music player can use on formats for example MIDI, MP3, AMR, AAC & eAAC+. One can download ringtones and music files and store them in the whopping 1 GB memories. The weight of your gadget is slated to 150 g and the mass are 109 x 46.6 x 14.6 millimeters.+===== Principle Statement =====
  
-Baccarat - the player can value more highly to bet as either tie or banker or character. It is popularly known when compared to the non-violent bet on cards which was popularly spread all throughout Europe.+Solve similar problems in the same way.
  
-Check the actual reputation from the [[http://nah.uy/-bj88-58911|????????????? bj88]], don't just count onto the bonus to inform you everything you need to know about them. First, do a bit of sleuthing to your own, web-based. Ask for a list of mindful yourself . casinos with the best extra cash. You're sure to find many hits on your query - but stay away from seeing one casino's name over and older again, since this could mean the "reviews" have been placed there by those involved a casino in itself. 
  
-Places to visit in Alabama include DeSoto Caverns Store. This is home loan houses cave in the state of Alabama you'll find stands 12 stories. Inside the park, there are rides, attractions and activities galore. The park is listed on Oprah's site as a Wacky Family Attraction.+===== Description =====
  
-The online casino games are of variationsThe first type uses web based interfaces whereas the second type uses downloadable interfaces onlyIn web based interfaces ?????? bj88 the participants can have fun playing the online casino games directly in the local computer system, without downloading any additional software. In the second type software really needs to be essentially received. Online casino will give you money and fun. Attempt not to think as this is online casino and or they have found that cheat. It isn't possible.+Software design comprises many similar tasks. There are plenty of design decisions that are similar to ones taken beforeUP tells that a design is good when similar design problems are solved the same wayUP can be applied to a large variety of problems: naming identifiers, ordering parameters, deciding upon framework or library usage, etc
  
-Simply because four is just too many and is not enough, next three steps are essential components throughout gambling triangle, that having ko correctly assist your income producing endeavoursIt once baffled me in that how the clever people glasses would present to themselves an equation along unsecured loan efficiency, three-dimensional mathematics and models that could slightly improve openings.+Striving for consistency and always using the same solutions also means that it can be good idea to apply a "bad" or less-well suited solution for the sake of consistencyIf for example a bad naming scheme is used throughout the whole project, it is advisable not to break it as an inconsistency in the naming scheme would be worse than applying the bad naming scheme everywhere.
  
-So, should you have succeeded in webpage when practicing the game, you will have it betterThe game support you you get the fun or the money you'll want to locateAt the same time, you just obtain the satisfaction that you will look for.+For documentation UP means to have a consistent documentation structure such that a certain piece of information can be found easilyFurthermore uniformity in naming schemes is especially important for documentationWhen referring to the same concept the same word has to be used. Synonyms are a source of misunderstanding.
  
-Implicitly, I had been lucky, otherwise such successful gains and distortions are not to be explained. Alternatively hand, there's nothing bad to say, I'm keen on the PlayTech online casinos, online game there is very fair hence there is no don't go to whichever reasons for problems on the ????????????? bj88 editions. The graphics in the mobile casino was nice, the set of games was rather authoritative. The interface is useful for a joystick, will be convenient. Online game speed is common like in Microgaming mobile casinos, about half an hour per 100 hands. The traffic seemed to be within the limits of 150 Kb per 100 hands resulting in 200 Kb the downloading. 
  
-Options trading involve significant risk of loss and may not be suitable for everyoneOptions & cash investing arenas are separate and distinct and will not necessarily respond in switching the way to similar market stimulus. A movement globe cash market would not necessarily move in tandem with the attached options contract being sold.+===== Rationale ===== 
 + 
 +Following UP reduces the number of different solutions. There are fewer concepts to learn, fewer problems to solve and fewer kinds of defects that can occur. So the developers, whether the original ones or the maintainers, have an easier task in creating, understanding, and maintaining the software. By reducing variety in the design, the software becomes simpler (see [[Keep It Simple Stupid|KISS]]). 
 + 
 +Documentation which follows a fixed structure helps you find a certain piece of information faster because as soon as you have understood the structure you know where to look. 
 + 
 + 
 +===== Strategies ===== 
 + 
 +  * Use the same naming scheme everywhere 
 +  * Use the same techniques, mechanisms, libraries, and frameworks everywhere 
 +  * In similar methods use the same order of parameters 
 + 
 + 
 +===== Caveats ===== 
 + 
 +UP demands solving similar problems in the //same way// and not just in a similar way. This is crucial as subtle differences can be dangerousThese small differences are created easily. Sometimes it is impossible to do two things exactly the same way. And also over time two modules may slowly diverge. So it is sometimes better to have two modules work completely differently than to allow for these subtle differences as they easily lead to misconceptions and mistakes (see [[Murphy's Law|ML]]). 
 + 
 +See also section [[#contrary principles]]. 
 + 
 + 
 +===== Origin ===== 
 + 
 +This principle is newly proposed here. Nevertheless the idea is not new and should be pretty intuitive to every developer. 
 + 
 + 
 +===== Evidence ===== 
 +/* Comment out what is not applicable and explain the rest: */ 
 +  * [[wiki:Proposed]] 
 + 
 +/*  * [[wiki:Examined]] 
 +  * [[wiki:Accepted]] 
 +  * [[wiki:Questioned]] 
 +*/ 
 + 
 +===== Relations to Other Principles ===== 
 + 
 +==== Generalizations ==== 
 + 
 +  * [[Murphy's Law]] (ML): A typical source of mistakes are differences. If similar things work similarly, they are more understandable. But if there are subtle differences in how things work, it is likely that someone will make the mistake to mix this up. 
 + 
 +==== Specializations ==== 
 + 
 +==== Contrary Principles ==== 
 + 
 +Note that UP can be contrary to virtually every other principle as it demands neglecting other principles in favor of uniformity. 
 + 
 +  * [[Keep It Simple Stupid]] (KISS): Although UP normally reduces complexity, sometimes UP demands more complex solutions because they are already applied elsewhere and for the sake of uniformity shall also be applied in simpler contexts where they would not be necessary. 
 +  * [[More Is More Complex]] (MIMC): Documenting something because of UP may result in unnecessary documentation. There may be more concise ways of documentation. 
 +  * [[Model Principle]] (MP): UP may demand adhering to a certain naming scheme, which may not be best with respect to MP. See [[#example 1: naming schemes]]. 
 + 
 +==== Complementary Principles ==== 
 + 
 +  * [[Principle of Least Surprise]] (PLS): When applying UP, PLS should also be considered for naming modules. See [[#example 1: naming schemes]]. 
 + 
 + 
 + 
 +==== Principle Collections ==== 
 + 
 +{{page>collections:OOD Principle Language#Box}} 
 + 
 + 
 +===== Examples ===== 
 + 
 +==== Example 1: Naming Schemes ==== 
 + 
 +A typical example of the application of UP is the naming of method identifiers for common container classes like [[glossary:stacks]] or [[glossary:queues]]. This also shows that there are several ways to apply this principle. 
 + 
 +Stacks typically have the methods ''push'', ''pop'' and ''peek'' (sometimes also called ''top''). ''push'' puts an item onto the stack, ''pop'' removes the top most item and ''peek'' retrieves the value of the top most item without removing it from the stack. This is how the common stack model describes this data structure (see [[Model Principle|MP]]). Applying UP to this naming decision means that the methods should be named precisely as they are named everywhere else also. So a developer knowing the model or other implementations of the model will immediately know how to use this module as well. In this case MP and UP demand the same thing. [[Principle of Least Surprise|PLS]] is satisfied here as well as a developer knowing stacks will expect exactly that. 
 + 
 +Queues on the other hand typically have the methods ''enqueue'', ''dequeue'', and ''peek'' (or ''front''/''first'' or the like). MP would demand naming the operations of a ''Queue'' module exactly that way. But there are several ways Up can be applied here. The one way is to apply the principle just like above. Resulting in methods ''enqueue'' and ''dequeue''. This is how it is done in .NET((http://msdn.microsoft.com/en-us/library/system.collections.queue(v=vs.110).aspx)). The other way is to consider the method identifiers of the ''Stack'' module. A possible application of UP could be to demand naming the queue methods just like the stack methods, meaning also ''push'', ''pop'' and ''peek''. This is the naming scheme which was chosen in the Delphi RTL((http://docwiki.embarcadero.com/Libraries/XE3/en/System.Contnrs.TQueue_Methods)). Here MP and UP are contrary. A further downside of this approach is that ''pop'' and ''push'' methods might be surprising for a queue class. So PLS would oppose this solution. 
 + 
 +A third possibility is to find a common abstraction and to apply a very general naming scheme to all descendant classes (stack classes, queue classes and others). This is the way it is done in Eiffel((see Bertrand Meyer: //[[http://en.wikipedia.org/wiki/Object-Oriented%20Software%20Construction|Object-Oriented Software Construction]]//, p. 127)). Here there the method names are ''put'', ''remove'' and ''item'' regardless of the concrete data structure. This is contrary to MP but creates a uniform naming scheme throughout the API. So there is less uniformity across APIs but stronger uniformity within the API. MP and UP are here contrary too. For PLS this means that a developer who is used to this philosophy is never surprised by having these methods. But developers new to it might be nevertheless. 
 + 
 +==== Example 2: This Wiki ==== 
 + 
 +This wiki has a certain structure which is uniform across all principles. Each principle description has the same sections with the same kind of information. This makes looking up principles much easier because one can directly jump to those sections containing the needed information. To mitigate the problem of unnecessary documentation (i.e. MIMC violations) sections without additional information are left blank instead of describing something obvious. 
 + 
 + 
 +===== Description Status ===== 
 +/* Choose one of the following and comment out the rest: */ 
 +/*[[wiki:Stub]]*/ 
 +[[wiki:Incomplete]] 
 +/*[[wiki:Complete]]*/ 
 + 
 +===== Further Reading ===== 
 + 
 +===== Discussion ===== 
 + 
 +Discuss this wiki article and the principle on the corresponding [[talk:principles:Uniformity Principle|talk page]]. 
principles/uniformity_principle.1756596481.txt.gz · Last modified: by andymatney560