Skip to content

Latest commit

 

History

History
14 lines (13 loc) · 4.46 KB

F16_lab03.md

File metadata and controls

14 lines (13 loc) · 4.46 KB

Peter Ginty (pginty), Trenton Cisewski (tcisewski)

  1. (a) This project is a recipe manager with a GUI. Its purpose is to allow the user to add, save, and review recipes.
  2. (b) As a user of this program, I can view the two preloaded recipes in the GUI window. I also have a number of options available to me in the File menu, including adding and deleting recipes, loading and saving recipe lists (these features seem to be broken), and searching.
  3. (c) The software does compile and run, as described in (b). I can also import images from my computer into the recipes.
  4. (d) As a user, a feature I think would be really useful is a conversion table and calculator. There could be an option in the File menu that brings up a useful unit conversion table and a calculator to help people whose recipes do not match the units of their measuring cups. Another feature that could be added is a "recipe for how many" option. This feature would allow you to type in the number of people eating the dish and then automatically multiply the ingredient amounts to feed large groups of people. A third feature I think would be useful is the ability to sort your recipes according to different criteria. This would include criteria such as by order added (as it as currently), alphabetical order, order by preparation time, etc.
  5. (e) The current README.md contains very little information about the project itself. There is a large project history section that is blank. There is an extra # in the main title. Almost all of the content of the current README.md is describing the problems the previous developer was having with saving and loading data in this application.
  6. (f) The build.xml works for compiling and running but the test target does not work correctly. This project is currently missing a /lib folder with a JUnit jar. The build.xml has a lot of outdated links - most of them seem to be used in the javadoc target. Overall it is functional though, and we understand most of the code in it.
  7. (g) Yes there are enough "issues" for this to be a 1000 point project. There are reported errors with saving and loading recipes. The search function was not well implemented. The format of the recipes needs to be improved. The overall program could use some visual work. There are also a number of extra features that could be added, some of which were described in (d).
  8. (h) ucsb-cs56-projects#12
  9. (i) Most of the classes and methods make sense except 3 classes in particular. Two classes, IngredientsList.java and RecipeList.java, seem completely unneccessary because they inherit from ArrayList but do not change any of the standard ArrayList functionality. Maybe the programmer implemented these two classes as a way to differentiate one from the other, but that seems like a poor solution. The third file and the file that would require the most work is the RecipePanel.java. The RecipePanel probably has about 80% of the code in it and it very confusing to follow. Documentation in the class is alright, but methods are cluttered and quite difficult to understand. It seems like that code could be broken down into more well defined classes. Some files in this project also need better Javadoc comments to improve readability. The quick and speedy information I would let another programmer know is, the program has six classes. The interface class which has the main inside of it. The IngredientsList class, which is basically an ArrayList for the ingredients. The Recipe class which is the big object that contains things like ingredients, name, and description. The RecipeAdder class which is a frame that allows you to type in String values for a new recipe. The RecipeList class which is also similar to an ArrayList. Finally, the RecipePanel class, this is the biggest file and contains most of the information about the buttons and text fields in the user display.
  10. (j) There is no test code at all implemented for this program that I could locate. There are lots of oppurtunities to create tests for this project. If we were to take on this project we would add a substantial amount of unit tests to each class, and also some holistic/integrated tests.

**I do not fully understand the previous developer's blurb on the README.md about the package renaming issue. All the files in this project are under the edu.ucsb.cs56.S12.m_a_p.cp3 package. I do not really understand his/her explanation of why they were unable to change the package and generate a new list.ser file.