ksnake

First, we show classes defined elsewhere that are similar to those in ksnake. Click on a class to browse its source code.
ksnake'Ball is similar to:
kabalone'BallPosition, kabalone'BallTest, kabalone'BallAnimation, kabalone'Ball, kabalone'BallWidget, kabalone'BoardWidget, kchart'GDC_HOLD_IMAGE_T, ksirtet'BoardData, ksirtet'BoardState, kabalone'AbTop

ksnake'Basket is similar to:
ksysv'Timer, qt'QSignal, knotes'SaveTimer, qt'QSenderObject, kview'KFilterList, konsole'KWrited, kuser'KError, kdelibs'MyObject, qt'Folder, konquest'Map

ksnake'Board is similar to:
ksirtet'BoardData, ksirtet'BoardState, kmahjongg'BoardLayout, qt'QPointArray, ksirtet'LocalBoard, ksirtet'SequenceArray, kabalone'BoardWidget, ksirtet'TLBoard, qt'GameBoard, ksirtet'MPBoard

ksnake'CompuSnake is similar to:
karchie'permissions, kwuftpd'Permissions, kdelibs'FilePermissionsPropsPage, qt'QArray, ksirtet'ServerInitData, kdesktop'KPixmapServer, kabalone'Move, kword'TailCap, kshisen'Board, kabalone'MoveList

ksnake'Game is similar to:
ksmiletris'GameWindow, konquest'MainWindow, ksokoban'MainWindow, kmines'MainWidget, arts'MainWindow, ksirtet'MainWidget, kshisen'App, kpat'pWidget, kreversi'App, kuser'mainWidget

ksnake'Image is similar to:
kdelibs'Image, kiconedit'imageFormat, kdelibs'ImageObject, qt'QImageDragData, kpaint'imageInfoDialog, killustrator'ImageExport, qt'ImageView, qt'QImageHandler, kword'KWCharImage, kimage'KImageFactory

ksnake'Img is similar to:
kview'ImgListDlg, qt'QImageDrag, katalog'Item, kpaint'paletteWidget, qt'QImageDecoder, kimageshop'KisChannel, kpat'cardMaps, kdelibs'CachedImage, pixie'KIFHtmlExport, qt'XFormControl

ksnake'Kaffee is similar to:
ksysv'Timer, qt'QSignal, knotes'SaveTimer, qt'QSenderObject, kview'KFilterList, konsole'KWrited, kuser'KError, kdelibs'MyObject, qt'Folder, knotes'MyTimer

ksnake'Keys is similar to:
korn'TypeDialog, kdevelop'DefaultsDialog, klyx'InsertLabelDialog, kspaceduel'KeySetup, kghostview'InfoDialog, kiconedit'KResizeDialog, kdelibs'KKeys, kdevelop'KKeys, kghostview'KKey, kwrite'KKeys

ksnake'LCDRange is similar to:
qt'LCDRange, kpaint'View, kdevelop'WidgetsView, kiconedit'KResizeWidget, kdevelop'DialogWidget, kwin'ResizeBar, klyx'K_Frame, kwin'ResizeLeft, kolib'KColorBar, qt'CheckLists

ksnake'Level is similar to:
kmines'Level, kdewizard'TopLevel, kasteroids'SLevel, ksokoban'LevelMap, kdelibs'DebugLevels, ksokoban'LevelCollection, kdelibs'TopLevelTest, karchie'NiceLevel, kautorun'TopLevel, kworldwatch'TopLevel

ksnake'Levels is similar to:
kmines'Level, kdewizard'TopLevel, kasteroids'SLevel, ksokoban'LevelMap, kdelibs'DebugLevels, ksokoban'LevelCollection, karchie'NiceLevel, kdelibs'TopLevelTest, kautorun'TopLevel, kworldwatch'TopLevel

ksnake'PixMap is similar to:
kdesktop'KPixmapData, kwin'FramePixmap, kimageshop'PixmapWidget, qt'QListBoxPixmap, qt'QPixmapCache, killustrator'InsertPixmapCmd, kdelibs'PixmapView, qt'PixmapView, kpresenter'PixmapView, kword'PixmapView

ksnake'PixServer is similar to:
ksirtet'ServerInitData, kdesktop'KPixmapServer, ksirtet'ServerState, ksirc'Server, ksirc'server, ksysctrl'XServer, ksirtet'ServerPlayData, ksirtet'Server, ksirc'ServerChannel, ksirc'ServerNamePage

ksnake'Progress is similar to:
kdelibs'Progress, kmahjongg'Progress, khexedit'CStatusBarProgress, ksirc'PProgress, khexedit'SProgressData, khexedit'CProgress, qt'ProgressBar, qt'QProgressBar, kdelibs'ProgressListView, qt'QProgressData

ksnake'Rattler is similar to:
kdevelop'WidgetsView, kpaint'View, qt'CheckLists, kdevelop'DialogWidget, kiconedit'KResizeWidget, kwin'ResizeRight, kwin'ResizeLeft, klyx'K_Frame, kcontrol'EventView, qt'ConnectWidget

ksnake'SamySnake is similar to:
ksirtet'ServerInitData, kword'TailCap, kabalone'MoveList, kshisen'Move, kabalone'Move, kreversi'Move, kmines'Score, konquest'ScoreDlg, kdesktop'KPixmapServer, ksirtet'TLBoard

ksnake'Score is similar to:
kmines'Score, ksysv'Timer, ksmiletris'ScoreDialog, konsole'KWrited, qt'QSignal, knotes'SaveTimer, qt'QSenderObject, kreversi'Score, ksmiletris'NewScoreDialog, kuser'KError

ksnake'ScoreBox is similar to:
kdelibs'KButtonBox, kdevelop'WidgetsView, kpaint'View, kiconedit'KResizeWidget, kdevelop'DialogWidget, kwin'TabBox, kwin'ResizeLeft, klyx'K_Frame, qt'CheckLists, katabase'ResizeWidget

ksnake'Snake is similar to:
ksysv'Timer, knotes'SaveTimer, qt'QSignal, kview'KFilterList, qt'QSenderObject, konsole'KWrited, konquest'Map, kuser'KError, qt'QTimer, knotes'MyTimer

ksnake'SnakePix is similar to:
kdesktop'KPixmapData, kwin'FramePixmap, kimageshop'PixmapWidget, qt'QListBoxPixmap, qt'QPixmapCache, killustrator'InsertPixmapCmd, kdelibs'PixmapView, qt'PixmapView, kpresenter'PixmapView, kword'PixmapView

ksnake'Square is similar to:
kreversi'SquareStack, kreversi'SquareStackEntry, qt'QCornerSquare, kreversi'Position, ksokoban'HtmlPrinter, kreversi'Game, kcalc'KStats, kspread'KStats, qt'ShowNextPiece, klyx'MathSpacingDialog

ksnake'StartRoom is similar to:
qt'START, korn'TypeDialog, klpq'FirstStartData, kdevelop'DefaultsDialog, kghostview'InfoDialog, kiconedit'KResizeDialog, qt'QColorDialog, kpilot'MessageDialog, kdevelop'ColorDialog, kpackage'aboutDialog

ksnake'Trys is similar to:
kdevelop'WidgetsView, kpaint'View, kdevelop'DialogWidget, kiconedit'KResizeWidget, klyx'K_Frame, kwin'ResizeLeft, qt'Test, ksirtet'OptionWidget, qt'CheckLists, katabase'ResizeWidget

ksnake'View is similar to:
kdevelop'WidgetsView, kpaint'View, qt'CursorView, kcontrol'EventView, kdevelop'PropertyView, kuser'KGroupView, qt'DrawView, kiconedit'KResizeWidget, kdevelop'DialogWidget, kwin'ResizeLeft

ksnake'samyState is similar to:
kdm'FileState, kdm'fileState, ksirtet'ServerState, qt'block_state, khexedit'SFileState, kedit'SFontState, kedit'SColorState, kmines'GameState, konquest'GameState, ksirtet'BoardState

ksnake'score is similar to:
kmines'Score, ksmiletris'ScoreDialog, kreversi'Score, ksmiletris'NewScoreDialog, konquest'ScoreDlg, ksirtet'MultiScores, kshisen'HighScore, kreversi'HighScore, ksirtet'HighScores, ksame'HighScore



Second, we show how ksnake's usage of the KDE libraries differs from other applications. Specifically, we show reuse patterns (e.g., if/then rules) that other applications follow but that ksnake does not; this may indicate a problem. Click on a reuse pattern to browse the corresponding application source code.

class_calls:qt'QPushButton::setFixedSize() => Confidence Supporters Detractors
1. class_instantiates:qt'QLayout^ 96.0% 72 *3

class_calls:qt'QList::first() => Confidence Supporters Detractors
2. class_calls:qt'QList::next() 95.9% *163 *7

class_instantiates:qt'QLCDNumber => Confidence Supporters Detractors
3. class_instantiates:qt'QLabel 95.2% *20 *1

class_calls:qt'QRangeControl^::setValue() => Confidence Supporters Detractors
4. class_instantiates:qt'QWidget^ 91.7% *132 *12

class_calls:qt'QRangeControl^::value() => Confidence Supporters Detractors
5. class_instantiates:qt'QFrame^ 91.4% *53 *5

class_calls:qt'QPushButton::move() => Confidence Supporters Detractors
6. class_receives_signal:qt'QPushButton::clicked() 91.1% *41 *4

class_calls:kdelibs'KConfigBase^::readColorEntry() => Confidence Supporters Detractors
7. class_calls:kdelibs'KConfigBase^::writeEntry() 90.3% 28 *3

class_calls:qt'QPushButton::setDefault() => Confidence Supporters Detractors
8. class_receives_signal:qt'QPushButton::clicked() 90.3% 167 *18
9. class_inherits:qt'QDialog^ 90.3% 167 *18