Side Effects

Important side effects should remain visible.

Preferred java
var user = users.load(id);
var session = sessions.create(user);

sessions.save(session);
events.publish(new SessionCreated(session.id()));
Potentially misleading java
sessions.createAndPersistAndNotify(user);

if persistence and event publication are important externally observable actions.

Pureline does not require exposing every internal operation. It requires avoiding surprising hidden behavior.