- [Instructor] Code quality is a moving target
and I hope that you're interested in learning more.
There's a lot of exciting directions
that you can go in based on this experience.
One of the easiest ways to start improving your code
is to implement a coding standard.
To save time, just extend an existing coding standard.
Keep in mind the ultimate goal,
which is to improve code quality.
There are some different plugins that can be used
with ESLint that I didn't include.
For example, requiring valid JavaScript documentation
on all functions.
ESLint used to include it built-in,
but now they've been replaced with a plugin called
eslint-plugin-jsdoc that analyzes the contents of docs
and makes some great suggestions.
Also, consider implementing the Jest plugin,
which is eslint-plugin-jest.
It enforces best practices
and provide some pretty opinionated configurations.
Jest is not the only testing framework
and there are many to try.
We also discussed AVA, Jasmine, Mocha, and tape.
I recommend trying each of them when you get a moment.
Functional testing goes way beyond
just filling out a form or checking for text on a page.
CasperJS offers a headless WebKit,
which is powerful and fast.
Selenium WebDriver along with Nightwatch.js
and WebDriverIO uses entire browsers for maximum testing.
There's no one right answer.
While coverage can be calculated in a single project,
what if you are managing many projects?
Consider a coverage as a service.
These are all commercial options
and I'm listing them in alphabetical order.
There's Codacy from codacy.com,
Codecov from codecov.io, Code Climate from codeclimate.com,
and Coveralls from coveralls.io.
Compare their approaches and determine
if they're a good fit for your needs.
Finally, we discussed continuous integration,
which is used for automatic testing.
What about the next step up with continuous delivery
where code is automatically deployed?
That might sound risky,
but with good testing and a rapid deployment process,
developers can rapidly iterate and improve.
We've come a long way together
and I hope you've gained an understanding
about code quality and how you can apply it.
Anyone can write software,
but maintaining it and knowing when something goes wrong,
those are professional skills that are an asset
to any team or group.
I appreciate your time and interest in learning.
Life is too short to be content with what we already know.
I hope you've enjoyed this course
as much as I've enjoyed researching and writing it.
I'll let you in on a secret.
This is my second revision of this course,
and during my research and revision,
I found mistakes in both my work
and previous version of this course.
Nobody's perfect and we can all grow.
Please take a moment to give feedback
through the course homepage.
It will help make future courses better
and we'd love to hear from you.
Thanks for watching.