Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/farlee2121/unit1cumulative


https://github.com/farlee2121/unit1cumulative

Last synced: 28 days ago
JSON representation

Awesome Lists containing this project

README

        

# Unit 1 Cumulative Assessment

## Covered Content
- Code Complete Ch 10: General Issues in Using Variables
- Code Complete Ch 11: The Power of Naming Variables
- Code Complete Ch 12: Fundamental Data Types
- Code Complete Ch 13 Unusual Data Types
- Code Complete Ch 14: Organizing Straight Line Code
- Code Complete Ch 5: Design in Construction
- Refactoring Ch 1: A First Example

Key topics
- Naming (variables, functions, classes)
- Semantic clarity
- variable reuse
- cohesive functions w/ good names
- white space and grouping in routines
- clarifying sequence through inputs/outputs
- Principle of Proximity
- Scope
- global usage, literal usage
- Information Hiding & coupling
- don't have to look at implementations
- semantic coupling
- temporal/sequential coupling
- coupling via parameters
- isolate likely areas of change (and "accident")
- Stratification / consistent level of abstraction
- small units of work / frequent complete commits

## Instructions

1. Create a fork for your own changes
2. Refactor the code based on practices covered this unit
1. WARNING: We will be looking at commit history to see increments of work
2. ATTENTION: We haven't covered ducking formally yet, but please include your thought process in a markdown document in the documents project. Not every detail needs recorded, but I'd like to see any deliberations you're considering. Anything that causes you to hesitate or contemplate alternatives probably belongs in the duck. You can see my blog post for tips on how to organize your contemplations
1. https://spencerfarley.com/2021/05/21/duck-structure/
3. NOTE: We have not yet covered testing, so I don't expect a test suite. Remember that is a very bad habit in real applications. I may need to reorganize the course to correct this.
3. Do not open a pull request. I'm trying to figure out how to handle review process without making solutions available to future learners
4. Email instructor that you've completed the exam