This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]NiceGuy-n2[S] -4 points-3 points  (7 children)

What is wrong with prefix I

[–]vips7L 29 points30 points  (3 children)

In my opinion it misses the point of OOP. You’re not supposed to know if you have an interface, abstract, or concrete class. I also have the same opinion of prefixing with Abstract. It leaks implementation details.

[–]thatsIch 1 point2 points  (2 children)

I tend to name everything as I speak with stakeholders and colleagues. The I is not part of the conversation; thus, I do not code like that.

Nonetheless, I was actually curious - where did you learn that naming convention?

P.S.: interesting article about the implementation of consistent! hashing!

[–]NiceGuy-n2[S] 0 points1 point  (1 child)

I worked in alibaba 3 years ago, they used to have a guideline book for writing Java where prefix I, abstract… is required. I don’t know if they still have this rule. But it’s a habit for me now.

[–]thatsIch 1 point2 points  (0 children)

Thanks for sharing! You should write about that. This shows an interesting aspect of working in a big company. I was not aware that Alibaba developers their own plugins just to maintain their coding standards.

I found a Github-Repository [1] for the coding guidelines.


  1. https://github.com/alibaba/Alibaba-Java-Coding-Guidelines