Skip to content

Instantly share code, notes, and snippets.

@mcsee
Last active May 30, 2022
Embed
What would you like to do?
<?
final class SocialNetwork {
function postStatus(string $newStatus) {
$this->assertUserIsLogged();
// ...
}
function uploadProfilePicture(Picture $newPicture) {
$this->assertUserIsLogged();
// ...
}
function sendMessage(User $recipient, Message $messageSend) {
$this->assertUserIsLogged();
// ...
}
function assertUserIsLogged() {
if (!$this->user->isLogged()) {
throw new Exception('User is not logged');
// This is just a simplification to show the code smell
// Operations should be defined as objects with preconditions etc.
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment