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-30 23:52] – created flossieholte9principles:uniformity_principle [2025-08-31 14:13] (current) – old revision restored (2021-10-18 22:00) christian
Line 1: Line 1:
-Casino games can do great fun regardless your age or temperament. You don't even have perform for money if to avoid to, making them great for all of us. For all those beginners, we take you through some of the finest games. Blackjack is a great example of your. This is the game where an individual given two cards and you then have to decide whether not really to choose third one to get as close as should to 21 without checking out it.+====== Uniformity Principle (UP) ======
  
-Here would be a few tips for seeking the best online Casino slot factor. First, all of these establishments build a first deposit bonus, so make sure you take them into consideration. You need posted over guidelines and regulations very carefully, because several of them are much better to collect than others. This is just "Free" money potentially they are giving you, so don't mess upwards.+===== Variants and Alternative Names =====
  
-Then. Of course, there is the fact of how easy these games are really. Of course we are aided by the ease of access here, and not the rules of the victim game. Leading gambling sites offer their games with regard to easy download, which can be easily installed in your desktop or laptop, or your mobile phone! One download, no sign-up fees, that is working towards good to proceed! All of these best gambling sites also offer most, not really all, for the games a person need to enjoy playing at your brick and mortar casino, but get it to so not as difficult. You can get all the information your want at the mere click of buttons; you can access information, patterns and profiles on other players, and easily calculate your odds! 
  
-If your tour of places to visit in Alabama takes you near the town of Bridgeport, you checking on the reviews stop at Russell Cave. This was the home of prehistoric man over 10,000 years just before. See how these early inhabitants lived along with the tools they used.+===== Context ===== 
 +/* fill in contexts here: */ 
 +  * [[contexts:Object-Oriented Design]] 
 +  * [[contexts:API Design]] 
 +  * [[contexts:Architecture]] 
 +  * [[contexts:User Interface Design]] 
 +  * [[contexts:Implementation]] 
 +  * [[contexts:Documentation]]
  
-The next to go the actual list may be the River belle online casino, confident that you left using the best expertise in gaming in the wagers may can hardly manage to miss out. An additional reason they offer ?????? bj88 you aid keep coming back to the website is may provide extremely lavish incentives and the amount of games that they offer you to select from is as good as 125.+===== Principle Statement =====
  
-Gambling asks time and concentration. Possess to show your concentration towards online game you are playing because lack of concentration in order to losing online game. It would be better if you switch off your mobile before starting the session with the online Casino, should certainly complete all of the work and can have a limited duration of the for casinos.+Solve similar problems in the same way.
  
-As technology continues to develop, your mobile phone or PDA will get out dated. But this new technology allow you to have fun now as well as many years into the future. If you are not into sports books try playing casino games like blackjack, roulette, baccarat of course slots. Your mobile phone or PDA can give you many hours or fascinating entertainment. 
  
-Online casinos indeed made one of the best spot continually wanted pay out their down time more attractive. And perhaps some of why this recreational activity becomes really in-demand is because of its ability to offer with superb casino games, bonuses, and tournaments. Well it holds true that most online casino games have their unique tips and methods when it depends on winning. However of them were purely based on luck, it does not necessarily implies that you can't make involving any tips which to increase your odds. Refer to below and learn several general techniques for your online casino game.+===== Description =====
  
-Then I realized this was a business to persist to a level greater regarding success"I'd really otherwise be dealing with houses, apartments, and commercial buildings" I thought to personally. "How can I become partners with someone involved throughout these types of properties" I pondered loudly. The cell phone in my pocket started ringing.+Software design comprises many similar tasks. There are plenty of design decisions that are similar to ones taken before. UP tells that 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
  
-Play in the good online Casino. It is essential that selected site is licensed. Particular it meets the approval of people who investigate the online casino and responsible in legitIt should be audited and publishes payout reports. Might be for your own sake. Imagine if it were you win, how particular get your dollars? It will turns to free (laugh). It should established a strong reputation and uses software develops from a reputable corporation.+Striving for consistency and always using the same solutions also means that it can be a 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.
  
-Not all casinos supply you with positive respond to all these questions, that is, if they would even admit which. It is best to find the answer from players possess experienced it first-handConserve lots of timesome of the [[https://Shorturl.at/jl6oF|?????? bj88]] companies with a strong reputation include 32 Red CasinoBet365, William Hill Casino, and All Slots Movable.+For documentation UP means to have consistent documentation structure such that a certain piece of information can be found easily. Furthermore uniformity in naming schemes is especially important for documentation. When referring to the same concept the same word has to be used. Synonyms are a source of misunderstanding. 
 + 
 + 
 +===== Rationale ===== 
 + 
 +Following UP reduces the number of different solutions. There are fewer concepts to learnfewer 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 dangerous. These 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 similarlythey 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 MPSee [[#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 methodsmeaning 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]].
  
-We have listed several of the best US casino player sites that accept players with all the U.S. The Rushmore Casino is remarkable the popular. They offer great promotions, new player bonuses and even chances to win vacation products. They have pretty nice odds and reported payout percentage of 98.7%. Cirrus casino has some on the best 1 of the largest selections of slots. On Mondays, you can win player prizes an individual have play. Pure Vegas Casino, Cherry Red Casino, Bodog Casino and Rome Casino are some of the other online sites that welcome USA players to interact. 
principles/uniformity_principle.1756590758.txt.gz · Last modified: by flossieholte9