2. Why this Document?

Even though using check_ycp is pretty straightforward, some background information is useful in order to understand what it does, its output and the limitations of this tool - in short, what you can expect it to do and why not to blindly rely on it.

check_ycp is far from fool proof. In fact, it is pretty dumb. It just tries to parse YCP code ("try" is the operative word here!) and applies various checks for obvious programming errors. Some errors it will catch and report, many it will not. But we (i.e. the YaST2 core development team) decided we'd rather have a tool with limited capabilities than none at all.

Another reason for writing this document is pointing out why we try to enforce certain things, many of which are because of ergonomics or mere conventions in developing as a team, not true requirements of YaST2 or the YCP language.