Posts tagged "refactoring"
Found 4 posts tagged refactoring
2020-11-06
This is a short summary of my experience while writing a simple HackerNews scraper. As a pure exercise or kata if you want, I tried to apply Clean code, Refactoring and Testing priciples for this small npm module. The task is simple: Get the posts on the front page of https://news.ycombinator.com and parse them.
2020-05-20
Iām going to outline an example to make the concept clearer:
You need to send a recurring email to some users (a newsletter for example), based on some business logic.
The business logic / user story could say:
"As a user
I want to receive an email every week
So that I can stay up to date with the latest news."
This is intentionally a contrived example to reduce the scope of the exercise.
Topics, Approaches and Tools
Concepts discussed below are
- SOLID principles
- Single Responsibility Principle
- Open-Closed Principle
- Dependency Inversion Principle
- Reason for a software component to change
- Test doubles like Spies and Stubs
- Collaborators in tests
- User Acceptance tests
- Unit tests
On the technical side, I am going to use the following tools
- sinon for easy Test Doubles
- ava for running the tests
- MongoDB as an example, but of course the persistence can be changed at your liking
- no real email API service, to keep it simple
2020-04-19
devblog
is yet another lightweight static site generator. Although there are widely used SSG like 11ty (which this blog was previously based on), Jekyll (also previously used), GatsbyJS and many others, I wanted to get my hands dirty and understand how to make the process of building a static blog even simpler, if possible. Even simpler in the sense of "it does just what I need and nothing more". Install via npm i -g devblog
or create a blog with a one-liner npx devblog init my-new-blog
, cd my-new-blog
and serve with npx http-server _site 8080
. It's that easy. Rebuild the blog by running npx devblog
(or npm i -g devblog
and then just run devblog
in the main directory) Continue reading my story of building devblog
.