This week, we studied some Python data structures or storage containers like lists and dictionaries. It's really incredible what Python enables one to do with so few lines of code. The more structures and built-in functions I learn, the smaller my programs seem to get.
The documentation provided on soft-skills like code-review has been a very good read. The best practices were particularly valuable:
1. Review fewer than 200-400 lines of code at a time.
2. Aim for your inspection rate of less than 300-500 LOC/hour
3. Take enough time for a proper, slow review, but not more than 60-90 minutes
4. Authors should annotate source code before the review begins.
5. Establish quantifiable goals for code review and capture metrics so you can improve your processes.
6. Checklists substantially improve results for both authors and reviewers
7. Verify that defects are actually fixed!
8. Managers must foster a good code review culture in which finding defects is viewed positively
9. Beware the “Big Brother” effect
10. The Ego Effect: Do at least some code review, even if you don’t have time to review it all
11. Lightweight-style code reviews are efficient, practical, and effective at finding bugs
Our team is working on the outline for our final project, and there will be more on that next week! It's going to be pretty cool, involving the reverse transformation of images into sound. It'll be pretty cacophonous -- I don't think we'll be implementing any music theory on harmony, but we'll see what we can do. Incidentally, I've used the word "cool" about ten times today. I think it's an unconscious mantra as I enter finals and am beginning to feel the burn.