It’s 1:33 AM and I’m about to catch some Z’s, but this Software Craftsman post
deserves a bit of bile.

There are very few things in life that I dislike more than a constructor
overloaded with Strings. This snippet of code from the post is absolutely
ridiculous:

public void createUser(String username,
String firstName,
String lastName,
boolean canCallerEditEmailAddress,
String emailAddress,
String addressLine1,
String addressLine2,
String addressLine3,
String addressLine4,
String addressLine5,
String phoneNumber,
String mobileNumber,
…) {

How about defining/using Name, PhoneNumber, Address and Email classes?
How can one possibly trust a phone number field of type String?

Why would you create a class called UserDataProvider instead (filled w/Strings)?
Is it just that I’m too damn sleepy to “get it”?

Another thing that eats at me is the validation inside of the createUser()
method. Are we planning to copy n’ paste it to the updateUser() method?

And don’t get me started on the CreateUserUseCaseEventHandlerForMassUpload.
Like I said - I’m too damn sleepy.