Skip to content

Sample Knowledge Components

Nikola Luburić edited this page Jan 17, 2022 · 1 revision

This page maintains a list of knowledge components (KCs) from the clean code analysis and refactoring domain. It presents a KC inventory concerned with assigning meaningful names to identifiers in code and creating clean functions. It also acts as supplementary material to the Challenges of Knowledge Component Modeling: A Software Engineering Case Study paper.

KC Id KC Name Parent KC Id
N01 Assign meaningful names to identifiers in code /
N02 Follow team conventions when assigning names N01
N03 Avoid meaningless noise words N01
N04 Formulate an appropriate word type N01
N05 Utilize the terminology from the problem domain N01
N06 Analyze the broader context in which an identifier exists N01
N07 Formulate a name on the appropriate level of abstraction N01
F01 Create clean functions /
F02 Segment a long function into regions of cohesive logic F01
F03 Reduce a function’s complexity F01
F04 Reorganize logic to reduce its complexity F03
F05 Extract sophisticated logic into a separate function F03
F06 Name sophisticated logic F03
F07 Shorten a function’s parameter list with a suitable strategy F01
F08 Move the function into a more suitable module F07
F09 Promote a parameter into a class field F07
F10 Encapsulate a set of tightly-coupled parameters F07
F11 Determine the semantic purpose of a function F01

Clone this wiki locally