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:09] – created andymatney560principles:uniformity_principle [2025-08-31 14:13] (current) – old revision restored (2021-10-18 22:00) christian
Line 1: Line 1:
-Set your profit margin for just 25 percent, this sounds low it's fairly simple to hit by incorporating patience. online Casino play is the same as riding a swing and knowing must jump off at most beneficial point going forward, the same application is involved on this website.+====== Uniformity Principle (UP) ======
  
-The 6500 Slide provides a TFT screen with a perception resolution of 240 x 320 pixels. This screen measures 2.2 inches and supports 16M colours. So, any pictures or wallpapers that get displayed on the screen come with an excellent picture craftsmanship. Games can also be played on and even editing .. The mobile is preloaded with some fascinating games; however, the users can also download other interesting video games such greater Roller Casino, Rally 3D, Snake 3* + and Golf Tour at their will. The Nokia 6500 Slide gives a solid feel and there's really no doubt with the fact that person can make rough regarding it, on more than one occasion.+===== Variants and Alternative Names =====
  
-I had gone from being homeless to being on the verge of partnering on a multimillion dollar deal. I couldn't believe how fast the stuff I'd learned-(goal setting, escaping your comfort zone, taking massive action) worked. Daily life had done a 180 and was getting better daily. it seemed although nothing may go wrong. 
  
-And what's great about online casinos is the casino credits. Caribbean Gold Casino is giving off $150 prior to hosting Sign Up Bonus. Different ?????? bj88 bonuses that you just avail when playing in Caribbean Gold Casino.+===== Context ===== 
 +/* fill in contexts here: */ 
 +  * [[contexts:Object-Oriented Design]] 
 +  * [[contexts:API Design]] 
 +  * [[contexts:Architecture]] 
 +  * [[contexts:User Interface Design]] 
 +  * [[contexts:Implementation]] 
 +  * [[contexts:Documentation]]
  
-?????? bj88 The gain speaks with respect to the fact how the game is hardly twisted against the player, there was help with the blackjacks, 4 even outs less than the norm, nonetheless they have proportionally dispensed between gains and losses, generally - it is Ok.+===== Principle Statement =====
  
-The online casino bonus than a person maybe is a wonderful thing to determine. This bonus will allow a in order to person get free money just for adding money to one's casino profile. Be sure to check on how different casinos can use different standards for every single one of their casino bonuses. Not all bonus plans are for you to be equally.+Solve similar problems in the same way.
  
-The Nokia 6500 Slide is a slide open phone and works well with networks with regard to example 2G and third generation. This handset is stylish and also has a dimension that allows the user to carry it quite effectively. The weight is also light and it is actually surprising to find so many features incorporated in a mobile that weighs only 125 gms. 
  
-The casino bonus that you can get can be a beneficial thing to know. What happens with so when of bonus is that person will sign up for an online Casino just after which deposit money into one's account. When this is done a fair bit of money will be provided with out on the person who signs up for casino services.+===== Description =====
  
-A 1 week back, I've been toying around with a cell phone casino online applicationWhen I was playing whilst blackjack category, I remarked that although may just computer generation of random playing, the possibilities of winning and losing are about sneakers.+Software design comprises many similar tasksThere are plenty of design decisions that are similar to ones taken before. UP tells that a design is good when similar design problems are solved the same way. UP can be applied to a large variety of problems: naming identifiers, ordering parameters, deciding upon framework or library usage, etc
  
-With the ????????????? bj88, you play nearly you want and income you lose is play money, it's electronic, it isn't your house down payment or your kids' college moneyMight play whenever and wherever you want and you will not ever lose any money.+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.
  
-Regardless of methods good someone at card counting is at the casino blackjack table, it isn't worth trying counting cards onlineOnline casinos use software to run their games, which is particularly close to machine that shuffles after each exchangeAny hands dealt before doesn't have an bearing in the next hand online. Professional card counters have no advantage in online casinos.+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 documentationWhen referring to the same concept the same word has to be usedSynonyms are a source of misunderstanding.
  
-Apart all this, the Nokia 6500 Slide helps the user to enjoy and have entertainment through Java games like High Roller Casino Game, Golf Tour game and Rally 3D on-line. More games can be downloaded through game downloading facility. Music is accessible to be a musician in MP3, MP4, AAC, eAAC+ and WMA format for car stereo songs. The FM radio helps in order to connect through various radio stations and to savor listening your favorite music. 
  
-Just remember, some nuances of the game are different when you play online but overall it is the same online. That is why I suggest playing globe beginner casino club rooms at first no matter how good you think you seem to be. This way you will learn what is different and what's the same between the internet and offline versions.+===== Rationale =====
  
-Nokia 6500 Slide glides to open up a world of opportunities for the users. This handset has large screen and a rapid keypadThe handset works on 2G and 3G channels such as. This mobile has 125 g of weight is now reasonable dimension of 96.5 x 46.5 x of sixteen.4 mm. So, it easily slides into the pocket when kept finalizedThe handset has some fine preloaded ring-tones.+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 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 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 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 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 wayBut there are several ways Up can be applied hereThe 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'' moduleA 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 classesqueue 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 structureThis 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]].
  
-FIFA 2005 [[https://www.rsstop10.com/directory/rss-submit-thankyou.php|????????????? bj88]] Edition: In its newest isometric viewpoint, permits the player to play realistically. Onpar gps include action replays a person can research your best images. The ability to pre-empt your opponent's movements will deliver you another shot at winning recreation. 
principles/uniformity_principle.1756595393.txt.gz · Last modified: by andymatney560