Refactoring - CMPUT301W13T05/ClassProject GitHub Wiki

Rename: Name of our project package is changed from MainActivity to EasyCooking.

JDeodorant Result

GOD CLASS

  • com.example.easycooking.model.GalleryFlow [com.example.easycooking.model.GalleryFlow::android.graphics.Camera mCamera, com.example.easycooking.model.GalleryFlow::transformImageBitmap(android.widget.ImageView, android.view.animation.Transformation, int):void, com.example.easycooking.model.GalleryFlow::int mMaxZoom] 0.9483863327440522
  • com.example.easycooking.view.ModifyImageActivity [com.example.easycooking.view.ModifyImageActivity::android.net.Uri imageFileUri, com.example.easycooking.view.ModifyImageActivity::takeAPhoto():void] 0.9498748538326156
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::searchSteps(java.lang.String):com.example.easycooking.model.Step, com.example.easycooking.controller.DatabaseManager::rebuildStep(android.database.Cursor):com.example.easycooking.model.Step] 0.9499857170835875
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::searchImages(java.lang.String):java.util.ArrayList<com.example.easycooking.model.Image>, com.example.easycooking.controller.DatabaseManager::rebuildImage(android.database.Cursor):com.example.easycooking.model.Image] 0.9499857170835875
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::searchIngredients(java.lang.String, java.lang.String):java.util.ArrayList<com.example.easycooking.model.Ingredient>, com.example.easycooking.controller.DatabaseManager::rebuildIngredient(android.database.Cursor):com.example.easycooking.model.Ingredient] 0.949993093240106
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::delete_images(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_steps(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_ingredient(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::greaterThanTen():boolean] 0.9519472695379073
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::addCacheRecipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::delete_images(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_steps(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_ingredient(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::greaterThanTen():boolean] 0.9527474345492366
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::com.example.easycooking.controller.DatabaseHelper dbHelper, com.example.easycooking.controller.DatabaseManager::close():void, com.example.easycooking.controller.DatabaseManager::open():void] 0.9529724671433195
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::com.example.easycooking.controller.DatabaseHelper dbHelper, com.example.easycooking.controller.DatabaseManager::close():void, com.example.easycooking.controller.DatabaseManager::open():void, com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::addCacheRecipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::delete_images(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_steps(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_ingredient(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::greaterThanTen():boolean, com.example.easycooking.controller.DatabaseManager::searchRecipes(java.lang.String[], int):java.util.ArrayList<com.example.easycooking.model.Recipe>, com.example.easycooking.controller.DatabaseManager::searchImages(java.lang.String):java.util.ArrayList<com.example.easycooking.model.Image>, com.example.easycooking.controller.DatabaseManager::rebuildImage(android.database.Cursor):com.example.easycooking.model.Image] 0.9530427377189489
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::android.database.sqlite.SQLiteDatabase db, com.example.easycooking.controller.DatabaseManager::com.example.easycooking.controller.DatabaseHelper dbHelper, com.example.easycooking.controller.DatabaseManager::close():void, com.example.easycooking.controller.DatabaseManager::open():void, com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::addCacheRecipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::delete_images(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_steps(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_ingredient(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::greaterThanTen():boolean, com.example.easycooking.controller.DatabaseManager::searchRecipes(java.lang.String[], int):java.util.ArrayList<com.example.easycooking.model.Recipe>, com.example.easycooking.controller.DatabaseManager::searchImages(java.lang.String):java.util.ArrayList<com.example.easycooking.model.Image>, com.example.easycooking.controller.DatabaseManager::rebuildImage(android.database.Cursor):com.example.easycooking.model.Image, com.example.easycooking.controller.DatabaseManager::searchIngredients(java.lang.String, java.lang.String):java.util.ArrayList<com.example.easycooking.model.Ingredient>, com.example.easycooking.controller.DatabaseManager::rebuildIngredient(android.database.Cursor):com.example.easycooking.model.Ingredient, com.example.easycooking.controller.DatabaseManager::searchSteps(java.lang.String):com.example.easycooking.model.Step, com.example.easycooking.controller.DatabaseManager::rebuildStep(android.database.Cursor):com.example.easycooking.model.Step, com.example.easycooking.controller.DatabaseManager::IngredientsOnHand():com.example.easycooking.model.Recipe, com.example.easycooking.controller.DatabaseManager::deleteCacheRecipe(java.lang.String, java.lang.String):void, com.example.easycooking.controller.DatabaseManager::cachedRecipe():java.util.ArrayList<com.example.easycooking.model.Recipe>, com.example.easycooking.controller.DatabaseManager::add_step(com.example.easycooking.model.Step):void, com.example.easycooking.controller.DatabaseManager::update_steps(com.example.easycooking.model.Step):void, com.example.easycooking.controller.DatabaseManager::rebuildRecipe(android.database.Cursor):com.example.easycooking.model.Recipe, com.example.easycooking.controller.DatabaseManager::add_image(com.example.easycooking.model.Image):void, com.example.easycooking.controller.DatabaseManager::add_ingrdient(com.example.easycooking.model.Ingredient):void, com.example.easycooking.controller.DatabaseManager::update_ingredient(com.example.easycooking.model.Ingredient):void] 0.9530814499416835
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::addCacheRecipe(com.example.easycooking.model.Recipe):void] 0.9531009870405851
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::com.example.easycooking.controller.DatabaseHelper dbHelper, com.example.easycooking.controller.DatabaseManager::close():void, com.example.easycooking.controller.DatabaseManager::open():void, com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::addCacheRecipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::delete_images(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_steps(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_ingredient(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::greaterThanTen():boolean, com.example.easycooking.controller.DatabaseManager::searchRecipes(java.lang.String[], int):java.util.ArrayList<com.example.easycooking.model.Recipe>] 0.9531026628635828
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::android.database.sqlite.SQLiteDatabase db, com.example.easycooking.controller.DatabaseManager::com.example.easycooking.controller.DatabaseHelper dbHelper, com.example.easycooking.controller.DatabaseManager::close():void, com.example.easycooking.controller.DatabaseManager::open():void, com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::addCacheRecipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::delete_images(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_steps(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_ingredient(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::greaterThanTen():boolean, com.example.easycooking.controller.DatabaseManager::searchRecipes(java.lang.String[], int):java.util.ArrayList<com.example.easycooking.model.Recipe>, com.example.easycooking.controller.DatabaseManager::searchImages(java.lang.String):java.util.ArrayList<com.example.easycooking.model.Image>, com.example.easycooking.controller.DatabaseManager::rebuildImage(android.database.Cursor):com.example.easycooking.model.Image, com.example.easycooking.controller.DatabaseManager::searchIngredients(java.lang.String, java.lang.String):java.util.ArrayList<com.example.easycooking.model.Ingredient>, com.example.easycooking.controller.DatabaseManager::rebuildIngredient(android.database.Cursor):com.example.easycooking.model.Ingredient, com.example.easycooking.controller.DatabaseManager::searchSteps(java.lang.String):com.example.easycooking.model.Step, com.example.easycooking.controller.DatabaseManager::rebuildStep(android.database.Cursor):com.example.easycooking.model.Step, com.example.easycooking.controller.DatabaseManager::IngredientsOnHand():com.example.easycooking.model.Recipe, com.example.easycooking.controller.DatabaseManager::deleteCacheRecipe(java.lang.String, java.lang.String):void, com.example.easycooking.controller.DatabaseManager::cachedRecipe():java.util.ArrayList<com.example.easycooking.model.Recipe>, com.example.easycooking.controller.DatabaseManager::add_step(com.example.easycooking.model.Step):void, com.example.easycooking.controller.DatabaseManager::update_steps(com.example.easycooking.model.Step):void, com.example.easycooking.controller.DatabaseManager::rebuildRecipe(android.database.Cursor):com.example.easycooking.model.Recipe, com.example.easycooking.controller.DatabaseManager::add_image(com.example.easycooking.model.Image):void] 0.9531892463696677
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::addCacheRecipe(com.example.easycooking.model.Recipe):void] 0.9532139218238113
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void] 0.9532337577766323
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::add_ingrdient(com.example.easycooking.model.Ingredient):void, com.example.easycooking.controller.DatabaseManager::update_ingredient(com.example.easycooking.model.Ingredient):void] 0.9532391573169334
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::add_step(com.example.easycooking.model.Step):void, com.example.easycooking.controller.DatabaseManager::update_steps(com.example.easycooking.model.Step):void] 0.9532580364731014
  • com.example.easycooking.controller.DatabaseManager [com.example.easycooking.controller.DatabaseManager::com.example.easycooking.controller.DatabaseHelper dbHelper, com.example.easycooking.controller.DatabaseManager::close():void, com.example.easycooking.controller.DatabaseManager::open():void, com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean, com.example.easycooking.controller.DatabaseManager::addCacheRecipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::delete_images(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_steps(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_ingredient(java.lang.String):void, com.example.easycooking.controller.DatabaseManager::delete_recipe(com.example.easycooking.model.Recipe):void, com.example.easycooking.controller.DatabaseManager::greaterThanTen():boolean, com.example.easycooking.controller.DatabaseManager::searchRecipes(java.lang.String[], int):java.util.ArrayList<com.example.easycooking.model.Recipe>, com.example.easycooking.controller.DatabaseManager::searchImages(java.lang.String):java.util.ArrayList<com.example.easycooking.model.Image>, com.example.easycooking.controller.DatabaseManager::rebuildImage(android.database.Cursor):com.example.easycooking.model.Image, com.example.easycooking.controller.DatabaseManager::searchIngredients(java.lang.String, java.lang.String):java.util.ArrayList<com.example.easycooking.model.Ingredient>, com.example.easycooking.controller.DatabaseManager::rebuildIngredient(android.database.Cursor):com.example.easycooking.model.Ingredient] 0.9532728010336583
  • com.example.easycooking.controller.ImageAdapter [com.example.easycooking.controller.ImageAdapter::android.content.Context mContext, com.example.easycooking.controller.ImageAdapter::createReflectedImages():boolean] 0.9504602258963415
  • com.example.easycooking.model.Step [com.example.easycooking.model.Step::int step_id, com.example.easycooking.model.Step::to_String():java.lang.String] 0.9522228920372223
  • com.example.easycooking.test.ingredienttest [com.example.easycooking.test.ingredienttest::testaddIngredients():void, com.example.easycooking.test.ingredienttest::testAddingDuplicate():void] 0.9532981878821541
  • com.example.easycooking.test.recipetest [com.example.easycooking.test.recipetest::testgetSteps():void, com.example.easycooking.test.recipetest::teststeps():void] 0.9532995311414388

LONG METHOD

  • com.example.easycooking.view.MyProfileActivity protected void onCreate(android.os.Bundle) dB_LocalDatabaseManager B1 0/12
  • com.example.easycooking.view.MyProfileActivity protected void onCreate(android.os.Bundle) myapp B1 0/12
  • com.example.easycooking.view.CreateRecipeActivity protected void onCreate(android.os.Bundle) dB_LocalDatabaseManager B7 0/8
  • com.example.easycooking.view.CreateRecipeActivity protected void onCreate(android.os.Bundle) myapp B7 0/8
  • com.example.easycooking.controller.DatabaseManager public ArrayList<com.example.easycooking.model.Ingredient> searchIngredients(java.lang.String, java.lang.String) cursor_i B1 0/6
  • com.example.easycooking.controller.DatabaseManager public ArrayList<com.example.easycooking.model.Image> searchImages(java.lang.String) cursor_p B1 0/4
  • com.example.easycooking.controller.DatabaseManager public com.example.easycooking.model.Step searchSteps(java.lang.String) cursor_s B1 0/4
  • com.example.easycooking.controller.UsefulFunctions public com.example.easycooking.model.Recipe initializeRecipe() image B1 0/4
  • com.example.easycooking.controller.UsefulFunctions public com.example.easycooking.model.Recipe initializeRecipe() ingredient B1 0/4
  • com.example.easycooking.controller.UsefulFunctions public com.example.easycooking.model.Recipe initializeRecipe() step B1 0/4
  • com.example.easycooking.view.SelectionLocalActivity protected void onCreate(android.os.Bundle) adapter B2 0/3
  • com.example.easycooking.view.SelectionLocalActivity protected void onCreate(android.os.Bundle) adapter B4 0/3
  • com.example.easycooking.view.SelectionLocalActivity public boolean onCreateOptionsMenu(android.view.Menu) dB_LocalDatabaseManager B1 0/3
  • com.example.easycooking.view.SelectionWebActivity protected void onCreate(android.os.Bundle) adapter B2 0/3
  • com.example.easycooking.view.SelectionWebActivity protected void onCreate(android.os.Bundle) adapter B4 0/3
  • com.example.easycooking.view.MainPageActivity public boolean onCreateOptionsMenu(android.view.Menu) myapp B1 0/2
  • com.example.easycooking.view.SelectionLocalActivity protected void onCreate(android.os.Bundle) temp_string B2 0/2
  • com.example.easycooking.view.SelectionWebActivity protected void onCreate(android.os.Bundle) temp_string B2 0/2
  • com.example.easycooking.view.ModifyImageActivity protected void onActivityResult(int, int, android.content.Intent) bitmapFactoryOptions B1 2/13
  • com.example.easycooking.view.ModifyImageActivity protected void onActivityResult(int, int, android.content.Intent) bitmapFactoryOptions B2 1/12
  • com.example.easycooking.view.ModifyImageActivity protected void onActivityResult(int, int, android.content.Intent) bitmapFactoryOptions B3 0/11
  • com.example.easycooking.view.DisplayModifyImageActivity protected void onCreate(android.os.Bundle) adapter B1 2/12
  • com.example.easycooking.view.MainPageActivity protected void onCreate(android.os.Bundle) obj B1 3/8
  • com.example.easycooking.view.MainPageActivity protected void onCreate(android.os.Bundle) obj B6 3/8
  • com.example.easycooking.view.MainPageActivity protected void onCreate(android.os.Bundle) obj B7 0/5
  • com.example.easycooking.view.ModifyIngredientsActivity private void update_list(ArrayList<com.example.easycooking.model.Ingredient>) combine B3 1/2
  • com.example.easycooking.controller.DatabaseManager public ArrayList<com.example.easycooking.model.Recipe> searchRecipes(java.lang.String[], int) cursor_b B26 4/5
  • com.example.easycooking.controller.DatabaseManager public ArrayList<com.example.easycooking.model.Recipe> searchRecipes(java.lang.String[], int) cursor_b B27 3/4
  • com.example.easycooking.controller.DatabaseManager public ArrayList<com.example.easycooking.model.Recipe> searchRecipes(java.lang.String[], int) cursor_b B34 1/2
  • com.example.easycooking.controller.DatabaseManager public ArrayList<com.example.easycooking.model.Recipe> searchRecipes(java.lang.String[], int) add_to_list B1 8/11
  • com.example.easycooking.controller.DatabaseManager public ArrayList<com.example.easycooking.model.Recipe> searchRecipes(java.lang.String[], int) add_to_list B3 7/9

FEATURE ENVY

  • Refactoring Type Source Entity Target Class Entity Placement Rate it!
  • Move Method com.example.easycooking.controller.DatabaseManager::add_image(com.example.easycooking.model.Image):void com.example.easycooking.model.Image 0.8795882294742863
  • Move Method com.example.easycooking.controller.DatabaseManager::add_ingrdient(com.example.easycooking.model.Ingredient):void com.example.easycooking.model.Ingredient 0.8803044874132563
  • Move Method com.example.easycooking.controller.DatabaseManager::update_ingredient(com.example.easycooking.model.Ingredient):void com.example.easycooking.model.Ingredient 0.8804085190835816
  • Move Method com.example.easycooking.controller.DatabaseManager::add_recipe(com.example.easycooking.model.Recipe):void com.example.easycooking.model.Recipe 0.8828474216144822
  • Move Method com.example.easycooking.controller.DatabaseManager::update_recipe(com.example.easycooking.model.Recipe):void com.example.easycooking.model.Recipe 0.8828869183749072
  • Move Method com.example.easycooking.controller.DatabaseManager::add_step(com.example.easycooking.model.Step):void com.example.easycooking.model.Step 0.8860800189271472
  • Move Method com.example.easycooking.controller.DatabaseManager::update_steps(com.example.easycooking.model.Step):void com.example.easycooking.model.Step 0.8861558381534931
  • Move Method com.example.easycooking.test.recipetest::testgetName():void com.example.easycooking.model.Recipe 0.8872137977775973
  • Move Method com.example.easycooking.test.recipetest::testget_download_upload_own():void com.example.easycooking.model.Recipe 0.8872857764002715
  • Move Method com.example.easycooking.controller.DatabaseManager::inDB(com.example.easycooking.model.Recipe):boolean com.example.easycooking.model.Recipe 0.8872887774183569
  • Move Method com.example.easycooking.test.recipetest::testgetID():void com.example.easycooking.model.Recipe 0.8873961696501181
  • Move Method com.example.easycooking.controller.DatabaseManager::inCache(com.example.easycooking.model.Recipe):boolean com.example.easycooking.model.Recipe 0.8876065707309928
  • current system 0.8890086982177094