DEV Community

loading...
Graham Cox profile picture

Graham Cox

404 bio not found

Joined Joined on  github website

All 42 comments

Hexagonal Architecture doesn't really work

Hmm - That's interesting. So you end up with: The actual...

Hexagonal Architecture doesn't really work

I wondered about that after I wrote the post, but that also...

How to test views?

So, I'm actually doing three levels of testing: Unit Test...

Why I prefer Kotlin

A little, but not enough to really know what I'm talking ab...

Everything you need to know about React Hooks

I do agree here for useState. I can see some of the other h...

... Or how I learned to stop worrying and love the magic

I'll be honest, I tend to have the opposite problem with Sp...

Node.js has a higher cognitive load than Java

So, without wanting to sound flippant, what's the one comma...

Node.js has a higher cognitive load than Java

So, at my day job, Windows 10 isn't supported yet. We've go...

Node.js has a higher cognitive load than Java

So - and I'm seriously interested here - how do you achieve...

Node.js has a higher cognitive load than Java

maven-frontend-plugin is awesome. I love it for combined bu...

Node.js has a higher cognitive load than Java

I absolutely agree. However, for most people the build tool...

Node.js has a higher cognitive load than Java

The thing is, JavaScript has a reputation for being used fo...

Self Documenting code isn't

And that, in my mind, is absolutely great. My problem is th...

Steps to starting a new project

Absolutely. This was my full list, and I neglected to say t...

Steps to starting a new project

That sounds so much like me it's almost scary! :)

I hate front-end build processes

I used to hate them too. I used to carefully craft them in ...

Cucumber and Spring Boot

If you're using Maven, then the Failsafe plugin will automa...

Why I like Maven

The reason is simply because a lot of projects are using it...

Do you need OAuth/OAuth2/OpenID Connect?

Tomcat, for example, manages a user session where it stores t...

Database seeding/access for acceptance testing

Imagine you are writing a Blog. You're standard API will give...

Perfect vs Good Enough

It's on my bookshelf already, though I must confess it's been...

Why I prefer Kotlin

I used to use and like Lombok, but less so now. It looks and ...

Why I prefer Kotlin

Better in some ways, worse in others. My understanding of Gr...

Automated tests before reaching market - worth it or not?

For myself, I think API level tests are absolutely worth it, ...

Test First Development at different test stages

Given that it's an iterative process, I'm referring to subseq...

Why I struggle with Node

Good question. I've actually moved away from Atom to VS Code ...

Where Should Tests Live?

In all my Java projects, tests live in a separate tree - src/...

How did you get into programming in the first place?

ZX spectrum, at the age of about 5. Software either came on t...

My personal take on TDD

the design of classes and how they should interact That qu...

My personal take on TDD

I will say right now that I'm all for mocking in your unit te...

My personal take on TDD

This idea works really well when the units being tested are s...

Why I struggle with Node

mktmp.io looks fantastic, but it unfortunately fails one of t...

Why I struggle with Node

It's definitely on my list of things to try out. The problem ...

Why I struggle with Node

The DI needs are a lot more than just Service Locator though....

Why I struggle with Node

I've not tried VS Code yet to be honest. Most of the Node wor...

Why I struggle with Node

Mocking modules can be done in a number of ways, but almost a...

Data classes in Kotlin

Yeah - turns out I don't know how to write short articles... ...

The TDD debate: What a false dichotomy!

Personally, I've found that TDD works well at the Integration...

Hi, I'm Graham

Thank you :) Though I can't promise that what I write will be...

Why I prefer Kotlin

Data Classes are the biggest, most obvious candidate. You can...

loading...
Forem Open with the Forem app