Changes
Page history
Created milestone 9
authored
Mar 13, 2020
by
Jeremie Michaud (jdm489)
Hide whitespace changes
Inline
Side-by-side
milestone-9.md
0 → 100644
View page @
9ccd6081
**Milestone 9**
**Action Plan**
<table>
<tr>
<td><strong>
Name
</strong>
</td>
<td><strong>
What was done
</strong>
</td>
<td><strong>
Time Spent
</strong>
</td>
</tr>
<tr>
<td>
Jeremie
</td>
<td>
Added text receipt parsing
<br>
Looked into better image preprocessing
<br>
Code review
</td>
<td>
14 hours
</td>
</tr>
<tr>
<td>
Jorgen
</td>
<td>
Helped Micheal
<bt>
Finished implementation of database.
<br>
Code review
</td>
<td>
10 hours
</td>
</tr>
<tr>
<td>
Lucas
</td>
<td>
Refactored all pages to use bootstrap
<br>
Drop-down filter functionality for search page
<br>
Code Review
</td>
<td>
12 hours
</td>
</tr>
<tr>
<td>
Michael
</td>
<td>
Changed dependencies to local, connected to database for manual input.
<br>
Code Review
</td>
<td>
10 hours
</td>
</tr>
</table>
<table>
<tr>
<td><strong>
Name
</strong>
</td>
<td><strong>
What will be done
</strong>
</td>
<td><strong>
Time Spent (Estimated)
</strong>
</td>
</tr>
<tr>
<td>
Jeremie
</td>
<td>
Searching and Visualization Backend
</td>
<td>
10 hours
</td>
</tr>
<tr>
<td>
Jorgen
</td>
<td>
Finish testing database, add file uploading to database
</td>
<td>
10 hours
</td>
</tr>
<tr>
<td>
Lucas
</td>
<td>
UI, Searching and Visualization
</td>
<td>
10 hours
</td>
</tr>
<tr>
<td>
Michael
</td>
<td>
UI aesthetics, Searching and Visualization, fix bug input receipt
</td>
<td>
10 hours
</td>
</tr>
</table>
**Quality Criteria and Inspection Items (Add other appropriate items for our product)**
1.
Completeness(of reflection by code of requirements)
1.
Each such method has appropriate parameters
2.
Consistency (of layout, name choice, and code organization)
1.
Placement of braces ({ and }) done consistently throughout.
2.
Indentation is used, consistently, to indicate block structure within braces.
3.
Block comments precede the code they describe.
4.
The same names or abbreviations are used consistently for the same concept (_e.g. _not next, nextNode, and nxtn in three places in the same class).
3.
Coding Style
1.
Correct function declarations
2.
Semicolons after each line of code
3.
Let instead of var
4.
Single property single line object property declarations
4.
Efficient Processing (using as little processing time as is reasonable)
1.
Loops contain complex code, or other loops, only when necessary.
2.
Array processing (especially search) contains loop exit code to execute when the condition is found.
5.
Efficient Storage
1.
All local and instance variables are actually used somewhere.
2.
limited global variables
6.
Simplicity
1.
No redundant code, extract to a function
2.
Math expressions, control expressions (in ifs, whiles, fors, and switches) are as simple as possible.
3.
Standard JS usage.
4.
Variables declared as close as possible to where they are used
7.
Self-Description
1.
Comments are provided whenever the purpose or reason for doing something in the code is obscure.
2.
Comments are provided to describe every method, however briefly.
3.
Comments are provided to describe the purpose, restrictions, and relationships between all instance variables in a class.
4.
All names are chosen well and consistently to reflect their usage and purpose.
5.
Constants (static final) are used instead of magic numbers. (_e.g. _Don't write 42, write static final ULT_ANS = 42; and then use ULT_ANS instead.)
6.
Booleans are not compared to boolean constants. (_e.g. _if (!found) is preferred to if (found == false)).
8.
Reusability
1.
Public methods are as general-purpose as is consistent with the design.
2.
Public method headers do not reveal the known usage of the class by code outside the class.
9.
Modularity
1.
Instance variables are not public.
2.
Variables are declared as locally as possible.
3.
Public method headers don't reveal the internal design of the class.
4.
System.exit is not called directly.
10.
Extra
1.
Generated files should not be in git repo
2.
Old uncommented code should be removed
3.
Coding should be done in a way to increase cohesion and decrease coupling
**Findings Report**
**Inspector’s Name**
: Lucas Merilees
**Inspectee's Name**
: Michael Wong
**Date Started**
: March 11th 2020
**Date Completed**
: March 13th 2020
**Project Name**
:Crab My Receipt
**Time Report:**
Time spent on Familiarization with the Code: 30 minutes
Time spent on Filling in Findings Report: 1 hour
Time spent on Actual Inspection: 1 hour
**Findings:**
<table>
<tr>
<td><strong>
#
</strong>
</td>
<td><strong>
Description
</strong>
</td>
<td><strong>
Line #
</strong>
</td>
<td><strong>
Script/Class Name
</strong>
</td>
<td><strong>
Associated Checklist Item #
</strong>
</td>
</tr>
<tr>
<td>
1
</td>
<td>
Insufficient commenting
</td>
<td>
All
</td>
<td>
CreateReceipt.js
</td>
<td>
7.1, 7.2
</td>
</tr>
<tr>
<td>
2
</td>
<td>
Missing semicolons
</td>
<td>
12, 64
</td>
<td>
CreateReceipt.js
</td>
<td>
3.2
</td>
</tr>
<tr>
<td>
3
</td>
<td>
Typo in function name
</td>
<td>
21
</td>
<td>
CreateReceipt.js
</td>
<td>
7.4
</td>
</tr>
</table>
**Findings Report**
**Inspectee's Name**
: Jorgen Wiebe
**Inspector’s Name**
: Jeremie Michaud
**Date Started**
: March 11th 2020
**Date Completed**
: March 13th 2020
**Project Name**
:Crab My Receipt
**Time Report:**
Time spent on Familiarization with the Code: 30 minutes
Time spent on Filling in Findings Report: 1 hour
Time spent on Actual Inspection: 1 hour
**Findings:**
Several copy paste errors so the line numbers are similar in other files
<table>
<tr>
<td><strong>
#
</strong>
</td>
<td><strong>
Description
</strong>
</td>
<td><strong>
Line #
</strong>
</td>
<td><strong>
Script/Class Name
</strong>
</td>
<td><strong>
Associated Checklist Item #
</strong>
</td>
</tr>
<tr>
<td>
1
</td>
<td>
Autogenerated files included
</td>
<td>
N/A
</td>
<td>
testdb.sqlite-journal
</td>
<td>
10.1
</td>
</tr>
<tr>
<td>
2
</td>
<td>
Foreign keys should be defined in their respective models
</td>
<td>
N/A
</td>
<td>
All DB.js files
</td>
<td>
10.3
</td>
</tr>
<tr>
<td>
3
</td>
<td>
Uncommented methods
</td>
<td>
N/A
</td>
<td>
All DBTests.js files
</td>
<td>
7.2
</td>
</tr>
<tr>
<td>
4
</td>
<td>
Some code indentation is off
</td>
<td>
Ex. 64, 84 of ItemCategoriesDBTests.js
</td>
<td>
Some DBTests.js files
</td>
<td>
2.2
</td>
</tr>
<tr>
<td>
5
</td>
<td>
Missing semicolons
</td>
<td>
Ex. 78, 86 of ItemCategoriesDBTests.js
</td>
<td>
All DBTests.js files
</td>
<td>
3b
</td>
</tr>
<tr>
<td>
6
</td>
<td>
Missing await on some methods that could use it
</td>
<td>
Ex. 78 of ItemCategoriesDBTests.js
</td>
<td>
All DBTests.js files
</td>
<td>
3.1
</td>
</tr>
</table>
**Findings Report**
Inspector’s Name: Michael
Inspectee: Lucas
Date Started: March 10, 2020
Date Completed: March 13, 2020
Project Name: CrabMyReceipt
Time Report:
Time spent on Familiarization with the Code: 30 min
Time spent on Filling in Findings Report: 1 hours
Time spent on Actual Inspection: 2 hours
Findings:
<table>
<tr>
<td><strong>
#
</strong>
</td>
<td><strong>
Description
</strong>
</td>
<td><strong>
Line #
</strong>
</td>
<td><strong>
Script/Class Name
</strong>
</td>
<td><strong>
Associated Checklist Item #
</strong>
</td>
</tr>
<tr>
<td>
1
</td>
<td>
Too many indents
</td>
<td>
60-90
</td>
<td>
index.html
</td>
<td>
2.2
</td>
</tr>
<tr>
<td>
2
</td>
<td>
Div in one line
</td>
<td>
112-114
</td>
<td>
index.html
</td>
<td>
2.2
</td>
</tr>
<tr>
<td>
3
</td>
<td>
Missing ;
</td>
<td>
12, 15-27, 23, 26, 29
</td>
<td>
search.js
</td>
<td>
3.2
</td>
</tr>
<tr>
<td>
4
</td>
<td>
Bad function argument name
</td>
<td>
5
</td>
<td>
Index.js
</td>
<td>
7.4
</td>
</tr>
<tr>
<td>
5
</td>
<td>
Missing ;
</td>
<td>
7-8, 12, 16-17, 22-23, 27-28, 32-33, 38, 52-54, 59-61,66-67, 69-71
</td>
<td>
index.js
</td>
<td>
3.2
</td>
</tr>
<tr>
<td>
6
</td>
<td>
Bad function argument name
</td>
<td>
31, 37
</td>
<td>
index.js
</td>
<td>
7.4
</td>
</tr>
<tr>
<td>
7
</td>
<td>
Wrong function style
</td>
<td>
31, 37, 41, 51, 58, 65
</td>
<td>
index.js
</td>
<td>
3.1
</td>
</tr>
<tr>
<td>
8
</td>
<td>
Using var
</td>
<td>
47, 48
</td>
<td>
index.js
</td>
<td>
3.3
</td>
</tr>
</table>
**Further Comments from the Inspection of this Class:**
**Findings Report**
Inspector’s Name: Jorgen Wiebe
Inspectee: Jeremie Michaud
Date Started: March 13, 2020
Date Complete: March 13, 2020
Project Name: Crab My Receipt
Time Report:
Time spent on familiarization with the Code: 10min
Time spend on FIlling in Findings Report: 50min
Time spent on Actual Inspection: 50min
Findings:
<table>
<tr>
<td><strong>
#
</strong>
</td>
<td><strong>
Description
</strong>
</td>
<td><strong>
Line #(s)
</strong>
</td>
<td><strong>
File/Class/Function Name
</strong>
</td>
<td><strong>
Associated Checklist Item #
</strong>
</td>
</tr>
<tr>
<td>
1
</td>
<td>
eng.traineddata should be in gitignore
</td>
<td>
N/A
</td>
<td>
N/A
</td>
<td>
10.1
\
</td>
</tr>
<tr>
<td>
2
</td>
<td>
Provide examples of regular expressions. Could not get regex to work with what I think an input would like.
</td>
<td>
22, 27,32, 36
</td>
<td>
OCR.js
</td>
<td>
7.3
</td>
</tr>
<tr>
<td>
3
</td>
<td>
Document what function arguments are used for. Eg: what are fields used for
</td>
<td>
47
</td>
<td>
OCR.js
<p>
parseTextLineByName
</td>
<td>
7.3
</td>
</tr>
<tr>
<td>
4
</td>
<td>
Move const regular expressions into their corresponding functions if not used by other functions.
</td>
<td>
13->65
<p>
14->76
<p>
15->72
<p>
18->109
<p>
36->118
<p>
27->126
<p>
32-119
<p>
36->138
</td>
<td>
OCR.js
</td>
<td>
6.4
<p>
5.
4
</td>
</tr>
<tr>
<td>
5
</td>
<td>
Split up the object declaration into multiple lines.
</td>
<td>
82
<p>
245
</td>
<td>
OCR.js
<p>
findItems
<p>
module.exports
</td>
<td>
3.4
</td>
</tr>
<tr>
<td>
6
</td>
<td>
Can use shorthand object initalizer for properties with same name as variable
<p>
Eg:
<p>
{a:a, b:b, c:c} -> {a, b, c}
</td>
<td>
245
</td>
<td>
OCR.js
<p>
module.exports
</td>
<td>
MISC
</td>
</tr>
</table>
Further comments: Good job!