mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	
		
			
				
	
	
	
		
			784 B
		
	
	
	
	
	
	
	
			
		
		
	
	
			784 B
		
	
	
	
	
	
	
	
ADR: Interface naming
Background
In the codebase, we have found a need to have a common way of naming interfaces in order to ensure consistency.
Decision
We have decided to use a naming convention of appending the letter I in front of interfaces to signify that we are in fact using an interface. For props, we use IComponentNameProps.
// Do:
interface IMyInterface {}
interface IMyComponentNameProps {}
// Don't:
interface MyInterface {}
interface MyComponentName {}
The reason for this decision is to remove mental clutter and free up capacity to easily navigate the codebase. Knowing that an interface is prefixed with I allows you to quickly scan a file without watching for a context where the interface is used in order to understand what it is.