id;file;Component;Smell;Details 1;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/App/index.js;App;Large Component;"LOC: 227; Number of props: 24; Number of attributes: 0; Number of methods: 15" 2;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/App/index.js;App;Too many props;"Number of props: 24; Props: workspaceVisibles,workspaceWeights,params,match,search,location,categoryKey,algorithmKey,gistId,algorithm,scratchPaper,saved,current,key,name,files,visualizationId,ext,env,login,title,setScratchPaper,titles,description" 3;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/App/index.js;App;Inheritance instead of composition;SuperClass: BaseComponent 4;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/App/index.js;App;JSX outside the render method;Methods with JSX: componentDidMount,componentWillUnmount,componentWillReceiveProps,toggleHistoryBlock,ignoreHistoryBlock,signIn,signOut,loadScratchPapers,loadAlgorithm,selectDefaultTab,handleChangeWorkspaceWeights,toggleNavigatorOpened,handleClickTitleBar 5;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Button/index.js;Button;Large Component;"LOC: 77; Number of props: 14; Number of attributes: 0; Number of methods: 1" 6;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Button/index.js;Button;Too many props;"Number of props: 14; Props: confirming,className,children,to,href,onClick,icon,reverse,selected,disabled,primary,active,confirmNeeded,inProgress" 7;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/CodeEditor/index.js;CodeEditor;Large Component;"LOC: 69; Number of props: 15; Number of attributes: 0; Number of methods: 1" 8;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/CodeEditor/index.js;CodeEditor;Too many props;"Number of props: 15; Props: className,editingFile,current,user,env,lineIndicator,player,$blockScrolling,startRow,startCol,endRow,endCol,type,inFront,_key" 9;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Header/index.js;Header;Large Component;"LOC: 157; Number of props: 17; Number of attributes: 0; Number of methods: 6" 10;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Header/index.js;Header;Too many props;"Number of props: 17; Props: value,user,env,scratchPaper,titles,files,lastFiles,editingFile,current,description,content,gistId,className,onClickTitleBar,navigatorOpened,saved,ext" 11;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Header/index.js;Header;Inheritance instead of composition;SuperClass: BaseComponent 12;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Header/index.js;Header;JSX outside the render method;Methods with JSX: handleClickFullScreen,handleChangeTitle,saveGist,hasPermission,deleteGist 13;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Navigator/index.js;Navigator;Large Component;"LOC: 120; Number of props: 11; Number of attributes: 0; Number of methods: 7" 14;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Navigator/index.js;Navigator;JSX outside the render method;Methods with JSX: componentDidMount,componentWillReceiveProps,toggleCategory,toggleScratchPaper,handleChangeQuery,testQuery 15;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Player/index.js;Player;Large Component;"LOC: 169; Number of props: 19; Number of attributes: 0; Number of methods: 11" 16;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Player/index.js;Player;Too many props;"Number of props: 19; Props: speed,playing,building,editingFile,shouldBuild,current,commands,lineNumber,key,method,args,chunks,player,className,cursor,inputRange,labelContainer,slider,track" 17;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Player/index.js;Player;Inheritance instead of composition;SuperClass: BaseComponent 18;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/Player/index.js;Player;JSX outside the render method;Methods with JSX: componentDidMount,componentWillReceiveProps,reset,build,isValidCursor,prev,resume,pause,next,handleChangeSpeed,handleChangeProgress 19;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/VisualizationViewer/index.js;VisualizationViewer;Large Component;"LOC: 84; Number of props: 8; Number of attributes: 0; Number of methods: 6" 20;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/VisualizationViewer/index.js;VisualizationViewer;Inheritance instead of composition;SuperClass: BaseComponent 21;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/components/VisualizationViewer/index.js;VisualizationViewer;JSX outside the render method;Methods with JSX: reset,componentDidMount,componentWillReceiveProps,update,applyCommand,applyChunk 22;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/layouts/Layout.js;Layout;Force Update;"Line 38: this.ref.current.forceUpdate();" 23;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/layouts/Layout.js;Layout;JSX outside the render method;Methods with JSX: add,remove,removeAll,handleChangeWeights 24;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/Array2DRenderer/index.js;Array2DRenderer;Inheritance instead of composition;SuperClass: Renderer 25;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/ChartRenderer/index.js;ChartRenderer;Inheritance instead of composition;SuperClass: Array1DRenderer 26;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/GraphRenderer/index.js;GraphRenderer;Large Component;"LOC: 118; Number of props: 20; Number of attributes: 0; Number of methods: 4" 27;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/GraphRenderer/index.js;GraphRenderer;Too many props;"Number of props: 20; Props: nodes,dimensions,data,nodeRadius,x,y,edges,isDirected,isWeighted,baseWidth,baseHeight,arrowGap,nodeWeightGap,edgeWeightGap,source,target,weight,visitedCount,selectedCount,id" 28;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/GraphRenderer/index.js;GraphRenderer;Inheritance instead of composition;SuperClass: Renderer 29;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/GraphRenderer/index.js;GraphRenderer;JSX outside the render method;Methods with JSX: handleMouseDown,handleMouseMove,computeCoords,renderData 30;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/LogRenderer/index.js;LogRenderer;Inheritance instead of composition;SuperClass: Renderer 31;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/MarkdownRenderer/index.js;MarkdownRenderer;Large Component;"LOC: 67; Number of props: 10; Number of attributes: 0; Number of methods: 6" 32;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/MarkdownRenderer/index.js;MarkdownRenderer;Inheritance instead of composition;SuperClass: Renderer 33;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/Renderer/index.js;Renderer;Large Component;"LOC: 103; Number of props: 5; Number of attributes: 0; Number of methods: 10" 34;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/Renderer/index.js;Renderer;Force Update;"Line 88: this.forceUpdate();" 35;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/Renderer/index.js;Renderer;JSX outside the render method;Methods with JSX: componentDidUpdate,togglePan,toggleZoom,handleMouseDown,handleMouseMove,handleMouseUp,handleWheel,toString,refresh,renderData 36;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/renderers/ScatterRenderer/index.js;ScatterRenderer;Inheritance instead of composition;SuperClass: Array2DRenderer 37;https://github.com/algorithm-visualizer/algorithm-visualizer/tree/master/src/core/tracers/Tracer.jsx;Tracer;JSX outside the render method;Methods with JSX: getRendererClass,init,set,reset