robertreppel / LiskovCheck

Semi-automatic checking of .NET assemblies for adherence to the Liskov Substitution Principle.

Home Page:http://robertblogs.wordpress.com/2011/02/13/liskovcheck-semi-automatic-liskov-substitution-principle-adherence-check/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semi-automatic check for adherence to the Liskov Substitution Principle.

Usage example: 'liskovcheck 'c:\path\to\assembly\MyAssembly\.dll'

-----------------------------------------------------------------------

Read the output and see if it makes sense:

"It looks like a Duck and behaves like an Animal."
makes it look more likely that there is strong behavioral subtyping.

"It looks like a Duck and behaves like a TransistorRadio."
makes it a lot less likely.

------------------------------------------------------------------------


Definition of the Liskov Substitution Principle:



	"Liskov substitution principle (LSP) is a particular definition of a
 
	subtyping relation, called (strong) behavioral subtyping,"


		(from http://en.wikipedia.org/wiki/Liskov_substitution_principle)



...also known as:



	"If it looks like a duck, quacks like a duck, but needs batteries – you 
	probably have the wrong abstraction."

		(from http://www.lostechies.com/blogs/derickbailey/archive/2009/02/11/solid-development-principles-in-motivational-pictures.aspx )



For more information, see http://birding.about.com/od/birdprofiles/tp/typesofducks.htm




About

Semi-automatic checking of .NET assemblies for adherence to the Liskov Substitution Principle.

http://robertblogs.wordpress.com/2011/02/13/liskovcheck-semi-automatic-liskov-substitution-principle-adherence-check/


Languages

Language:C# 100.0%