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
principles:uniformity_principle [2025-08-31 01:51] – created andymatney560principles:uniformity_principle [2025-08-31 14:13] (current) – old revision restored (2021-10-18 22:00) christian
Line 1: Line 1:
-To enlist for an online Casino membership is a relatively simple process. Each and every casino will possess a short membership application that you may need to fill elsewhere. It should only demand a little while to add all outdoors spaces, and then the casino will give back an email that must be successful.+====== Uniformity Principle (UP) ======
  
-Once anyone could have figured out if its reliable or not, check to see if contain genuine reviews for each casino. By checking this, you should be able to see if the online Casino bb has actually played and verified just about every casino is reliable and profitable. Many casinos online may make be scams, so you need to be very weary. Many online Casino bb's are owned and operated by the same person. Primary in is definitely that this single person has had been chance to build a network of websites, so some may have the ability and the reputation much more out which casinos are reputable.+===== Variants and Alternative Names =====
  
-You could do an analysis about the corporation before joining its online site. You should consider several factors and ask about the background of a lot more claims in industry. Check out the past records of the company, whether or not they are legit or possibly not. If you are playing with new companies then it is going to be a risky financial transaction. But, after a proper research specialists . gamble together. 
  
-Pocket Fruity is would like a super the new faces concerning the very new [[http://nah.uy/bj88-43636|click through the next document]] gaming scene, and was launched in 2012. The up and coming AlchemyBet mobile casino software backs Pocket Fruity's activities. No need to download; you will have the games as soon as you sign upwards. Although there are only about a dozen games open right now, the company has plans to expand rapidly, so heart warming loads of recent games around the corner.+===== Context ===== 
 +/* fill in contexts here: */ 
 +  * [[contexts:Object-Oriented Design]] 
 +  * [[contexts:API Design]] 
 +  * [[contexts:Architecture]] 
 +  * [[contexts:User Interface Design]] 
 +  * [[contexts:Implementation]] 
 +  * [[contexts:Documentation]]
  
-The gain speaks about the fact how the ?????? bj88 game is hardly twisted against the player, there was help utilizing the blackjacks, 4 even outs less in comparison to norm, but they have proportionally dispensed between gains and losses, generally - the time Ok.+===== Principle Statement =====
  
-Let's say you deposit $1,000 onto your favorite casino, and the terms are 400% deposit match on top of your first 4 deposits, anywhere up to $8,000. Might see an overall total deposit of $4,000 within your account. Should you choose the math, that's $1,000 x nearly four. You will not be able to exceed $8,000 in matchups, so you could do the $1,000 deposit another time attain $8,000. This is how percentage deposit-matching works. Don't forget to read the small print before depositing your money to you should receive the largest match since you can easily. You will need all the particular possible to leverage yourself when chances turn against you, to help you have time for the chances to maintain your gain.+Solve similar problems in the same way.
  
-Today's investor has a lot of tools at their disposal that have unavailable to previous our generations. With the use with the Internet based and mobile trading platforms, "Day Traders","Speculators", and Hobbyists are better equipped to wage battle to the own terms rather than be at the mercy of the market. A handyman is one who has taken the period for perfect as best they can their ways of trading that they derive their finances. 
  
-FIFA 2005 Mobile Edition: In its newest isometric viewpoint, it allows the player to play realistically. Its features include action replays and also that can review of your best vaccinations. The ability to pre-empt your opponent's movements provide you a healthier shot at winning the game.+===== Description =====
  
-Nokia 8800 Arte mobile is great for playing entertaining games pertaining to example High Roller Casino Game, Soccer 3D Game, 3D Golf Tour Game, and also other Java party gamesThe camera is always just the thing for capturing scintillating photos and videos. Exact same find the 8 x digital zoom camera very for capturing the special moments of your energy lifeThe car battery also gives excellent support as offers 3 hours of talk time and 300 hours of standby time.+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
  
-The bonus should be one pretty important considerations while selecting casino outfits. A company should have a well functioning customer support so which you may get help whenever you want itSelect an online Casino through easy method payment for withdrawal also as deposit. The company should be serious regarding your privacy.+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.
  
-In other words, authorised well planned, well run casino offers great number of deposit bonuses and safe financial dealingsIf you are an online gamerCasino Tropez pores and skin look place to becomeThe lucrative bonuses assists you to satisfy your gaming needs, make up bank balance, stand up in society and much more. Sowhy not try it for yourself!+For documentation UP means to have a 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 solutionsThere 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 dangerous. These small differences are created easily. Sometimes it is impossible to do two things exactly the same wayAnd 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 schemewhich 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]].
  
-Pocket Fruity specializes only in slots and fruit machine games at this time, serving up very own juicy choice of click through the next document companies. These bright and colorful games include action packed titles such as Snake Charm and In demand Rolling 7s. You will notice that at first a number of the games appear with giant padlocks on them and may wonder what that's related to. The secret is revealed: these games will unlock if you play other people and earn Fruity Coinage. Another intriguing thing about the Pocket Fruity games is that some of these have what is known as a trail feature. Like good old fruit machines in pubs on land, they will let you move up a "trail" as you continue perform. If you are lucky enough to complete the trail, there can be a pleasant surprise waiting in which you. 
principles/uniformity_principle.1756597876.txt.gz · Last modified: by andymatney560