Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback #1

Open
esin87 opened this issue Aug 26, 2020 · 0 comments
Open

Feedback #1

esin87 opened this issue Aug 26, 2020 · 0 comments

Comments

@esin87
Copy link

esin87 commented Aug 26, 2020

Code Quality - Excelling

Criteria: Is the code well formatted? Are variable and function names semantic and sensible? Is the code easy to read and understand?

Strengths:

  • Code is well-formatted with semantic and sensible naming throughout. No commented-out code or console.logs() observed.
  • Code is easy to read and understand.
  • HTML and CSS both pass validators with no errors!
  • I really like how most of your code is modularized into functions that handle the game flow!
  • Nice job including comments throughout your code to explain its purpose.

Areas for Growth:

  • Most modern web applications do not use multiple HTML pages. I would try to consolidate down to one if possible, and use DOM manipulation to show/hide/render elements as needed. I know that would involve a lot of refactoring, but it would be an interesting coding challenge. An alternative/additional recommendation would be to better organize your repo into four main directories: html, css, js, and assets (images, favicons, audio), and organize/link the files appropriately.
  • This is very minor, but the HTML validator throws a warning about section elements not having a heading. Section and article elements are typically reserved for groups of semantically related content, and thus are recommended to have some type of heading (h2-h6) according to W3C best practices for semantic/accessible HTML. If a heading is not applicable, consider using another enclosing element like a div instead.
  • You can DRY up your CSS a bit by including the reset styles in their own reset.css file and importing them everywhere you need them.

Technical Requirements - Excelling

Criteria: How does the project stack up to the requirements for this project? Is the developer making use of the material we've covered in a way that makes sense?

Strengths:

  • Your application meets all the technical requirements listed below! The app renders in the browser and no errors were observed in the console. Nice job getting your app deployed to GH Pages, and also having a VERY extensive history of commits dating back to the start of your project.
  • Your application is feature-rich and also very engaging! You took the material we taught you in class and built on it, adding material that we did not cover, like audio and some sophisticated styling, showing a level of independence and curiosity that all developers should strive to have.
  • Great job making use of Git Branches to work on code without affecting the master branch -- this will keep you from having to worry about breaking the working code, and is a useful development practice to continue.

Areas for Growth:

  • GitHub repo shows an extensive history of commits, but work on the consistency of your commit message formatting. The standard is usually 'present-tense verb + description of what was done' for each and every commit. For example, 'Add styling to gameboard container' or 'Refactor API call'. This is my favorite article on how to write good commit messages and why it's an important focus for developers.

Creativity and Interface - Excelling

Criteria: Is the application easy to navigate? Does it work well in every major browser? Is it responsive? Does it incorporate modern UI Themes?

Strengths:

  • App is very easy to navigate and use. It renders great in Chrome and Safari.
  • The UI is pleasing and incorporates modern UI themes and principles of good UX/UI design. I like how you use just a few main fonts, and the color scheme is a fresh take on the original primary colors of Simon.

Areas for Growth

  • Work on mobile responsiveness next! Currently the UI elements do some interesting things on a smaller browser width. In the future, designing for mobile first might help stave off some desktop to mobile layout challenges.

Functionality - Performing

Criteria: Does the application work without errors or bugs? Does it present a complete app, where every feature is fully implemented in a way that makes sense?

Strengths:

  • The application works without any errors or bugs.
  • Application presents a complete game, with a clear beginning, middle, and end, as well as user feedback and the option to start over.
  • Lots of great features including the bonus feature of free styling to the Funky Simon track! I felt like a DJ. 🤓

Areas for Growth:

  • I personally found the game-play a bit challenging, and I know you probably intended it to be so. However, I would consider making it a bit easier to click the pattern without worrying about timing so that users get to experience the full game logic. I saw some comments in your code about future difficulty levels, and I think that could be a great way to make the game more accessible yet maintain your extremely high standards for game-play. :)

Presentation - Performing

Criteria: Is there adequate documentation? Is the repository well organized and free of clutter?

Strengths:

  • The README.md is a great start! Currently it looks like it highlights your development process, technologies used, bugs/future plans, a link to your wireframe, and user stories.
  • The repo is overall free of clutter.

Areas for Growth:

  • Please see my comment above in the Code Quality section about organizing your files into directories.
  • Additionally, I think it would be great to include some screenshots of the major application views, as well as a screenshot of the wireframe instead of just the link to the Google doc. Thorough READMEs also typically include Installation Instructions and Contribution Guidelines. Here's a straightforward article on why and how!

Final Notes

Josh, I've been meaning to send this feedback your way for a while, and I'm sorry it took me so long! This is just one of the most impressive Project 1's I've seen. The critical feedback I have to offer above is mostly logistical/administrative but could help polish your repo and code to be more employer-ready. You clearly put a lot of time and work into this project, and I can tell that you thrive on technical challenges and have a lot of curiosity about code, which is a huge asset.

Thanks for all the hard work you put into the class everyday, and for the wonderful energy and humor you bring to your work. Class wouldn't be the same without you! Can't wait to see your final project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant