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 00:08] – created flossieholte9principles:uniformity_principle [2025-08-31 14:13] (current) – old revision restored (2021-10-18 22:00) christian
Line 1: Line 1:
-The next thing to look at to locate a online Casino can be always to see what games they've. Rather choose one which you could play any game such as. This could be poker, slot machines, roulette along with. With the amount of games perform choose from you will not get bored and you will experience a opportunity to earn much money.+====== Uniformity Principle (UP) ======
  
-The Nokia 8600 Luna is one masterpiece of a range of Nokia mobile phones. It has given a new dimension anywhere in the planet of fashionable and stylish gadgets. It's really an eye-catching phone which is usually very attractive and popular. This phone is a compact bundle of latest technology and advanced features to make things simpler for person. It gives a very high-class performance to meet all the mobile needs of consumer. It has many interactive and interesting applications can easily be perfectly entertain the purchaser.+===== Variants and Alternative Names =====
  
-Money from a bonus are available on many single player games. These can include such common games as slot machines and electronic poker machines. Fundamental essentials things which need only one player and don't have to employ others apart from those who wishes to chat mutually on the area. 
  
-Most online casinos offer no deposit bonuses for new players. This is one of the most misunderstood incentives. It is basically a gimmick because nobody is going on the internet free money without over making you jump through a few hoops during the task. The idea of no deposit bonus is to get new players to sample an online casino. It is basically the equal of a play account except there might be the slight potential to essentially get compensated for.+===== Context ===== 
 +/* fill in contexts here: */ 
 +  * [[contexts:Object-Oriented Design]] 
 +  * [[contexts:API Design]] 
 +  * [[contexts:Architecture]] 
 +  * [[contexts:User Interface Design]] 
 +  * [[contexts:Implementation]] 
 +  * [[contexts:Documentation]]
  
-There countless games that you get to play at online casino. It's important a person need to note it's a advisable ?????? bj88 that you simply gain proficiency in one of the games and want focus into it. It is likely that you could be interested in playing at more than simply one online casino.+===== Principle Statement =====
  
-As technology continues to develop, your mobile phone or PDA will get out dated. But this new technology will enable you to have fun now at the same time many future. If you are not into sports books try playing casino games like blackjack, roulette, baccarat don't forget that slots. Your mobile phone or PDA can an individual many hours or fun and entertainment.+Solve similar problems in the same way.
  
-This could be the third essential ingredient want for making money at the casino, why, because you must remove greed in order to set off ?????? bj88 . Profit markers are a great option for testing self control and therefore to train your future gambling individuality. You must understand, that greed is why 80 percent of gamblers are handing there a reimbursement to the casino, its how the casino makes its wealth. A bit like the witch in Hansel and Grettel, because house in candies and sweets, it is a trap you have avoid. 
  
-Over the years, slot machine game games been recently providing lots of people the appropriate amount of excitement that process, which is get. Around the world, these games have given a lot of people more profits from their small initial bankroll. Although, the game is about pure luck, these many people have certain techniques and strategies so these people can maximize their success. One of their strategies november 23 at casino slot machines is to wisely pick a good machine and analyzing its electricity to give more profits.+===== Description =====
  
-Nokia 6500 Slide glides to begin world of opportunities for customersThis handset has a large screen and an easy keypad. The handset works on 2G and 3G cpa networks. This mobile has 125 g of weight and has also a reasonable dimension of 96.5 x 46.5 x 16.4 mm. Soit easily slides into the pocket when kept finalized. The handset has some fine preloaded ring-tones.+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 parametersdeciding upon framework or library usage, etc
  
-In fact, in comparison with one other casinos, the labyrinth was the most unsuccessful casino game, but just the same I almost broke truly. I don't have any claims towards the honesty. However i can remind of very good advantage of Ladbrokes i.e. winnings withdrawal of any amounts into the credit phone card. I must also say that the Spin3 software Cabinet Saccone wrote in blog post has very nice graphics as well as the most convenient interface - operating may happen with the joystick and with the keys on the digital keyboardThere is no need in pressing the key after each dealingparticularly if don't switch the amount belonging to the bet. The overall game speed is normal, I spent about half an hour for 100 hands in every game. The total traffic through the game made about 300 Kb.+Striving for consistency and always using the same solutions also means that it can be a good idea to apply "bad" or less-well suited solution for the sake of consistencyIf for example a bad naming scheme is used throughout the whole projectit is advisable not to break it as an inconsistency in the naming scheme would be worse than applying the bad naming scheme everywhere.
  
-Keno. Internet gives you every an opportunity to play keno online. Cafe world presupposes the usage of random number generator for number selectionThe overall game in itself is pretty much similar to lottery game and bingo and in relation to wholly banks on luck.+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 documentation. When referring to the same concept the same word has to be used. Synonyms are a source of misunderstanding.
  
-Many individuals are thrilled with thinking about gambling. Regarding that, many of us play various casino games such as slots, roulette, black jack and lots of other exciting mmorpgs. However, playing both the traditional and online casino is more than purely having fun especially if you need to end a game as a victor. Most of us continue playing because we want to have thrilling to win a good amount of money as most certainly. If you are one belonging to the smart online casino players, this would manifest as a wise move to learn more casino strategies not by only playing furthermore by reading useful information around useless. An online casino blog has to be very good source of those information you are able to help with the internet, these blogs are just a few clicks away. 
  
-Should you loved this post and you wish to receive much more information regarding [[http://www.cabinet-saccone.com/spip.php?action=cookie&url=https://sites.google.com/view/bj88a/bj88|Cabinet Saccone wrote in a blog post]] please visit the site.+===== 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 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 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 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.1756591685.txt.gz · Last modified: by flossieholte9