CoDe SmElL 159 - mIxEd_cASe

Maxi Contieri - Aug 19 '22 - - Dev Community

Serious development is done by many different people. We have to start agreeing.

TL;DR: Don't mix different case conversions

Problems

  • Readability

  • Maintainability

Solutions

  1. Choose a case standard

  2. Hold on to it

Context

When different people make software together they might have personal or cultural differences.

Some prefer camelCase🐫, others snake_case🐍, MACRO_CASE🗣️, and many others.

Code should be straightforward and readable.

Sample Code

Wrong

{
    "id": 2,
    "userId": 666, 
    "accountNumber": "12345-12345-12345",
    "UPDATED_AT": "2022-01-07T02:23:41.305Z",
    "created_at": "2019-01-07T02:23:41.305Z",
    "deleted at": "2022-01-07T02:23:41.305Z"
}
Enter fullscreen mode Exit fullscreen mode

Right

{
    "id": 2,
    "userId": 666, 
    "accountNumber": "12345-12345-12345",
    "updatedAt": "2022-01-07T02:23:41.305Z",
    "createdAt": "2019-01-07T02:23:41.305Z",
    "deletedAt": "2022-01-07T02:23:41.305Z"
  // This doesn't mean THIS standard is the right one
}
Enter fullscreen mode Exit fullscreen mode

Detection

[X] Automatic

We can tell our linters about our company's broad naming standards and enforce them.

Whenever new people arrive at the organization, an automated test should politely ask him/her/.. to change the code.

Exceptions

Whenever we need to interact with out of our scope code, we should use the client's standards, not ours.

Tags

  • Naming

Conclusion

Dealing with standards is easy.

We need to enforce them.

Relations

More Info

All naming conventions

Disclaimer

Code Smells are just my opinion.

Credits

Photo by Wolfgang Hasselmann on Unsplash


If you have too many special cases, you are doing it wrong.

Craig Zerouni


This article is part of the CodeSmell Series.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .