3 ms·
I can fully understand "bickering" about someone sprinkling their favourite data type over a codebase which consistently used a standard data type before. The a
by xorcist 6mo ago
I can fully understand "bickering" about someone sprinkling their favourite data type over a codebase which consistently used a standard data type before. The argument that it might be multithreaded in the futurure does not hold if the rest of the code base clearly was not writen with that in mind. That could even be counter productive, should someone get the misguided idea that it was ready for it.
Make a (very) good argument, and suggest a realtistic path to change the whole codebase, but don't create inconsistency just because it is "better". It is not.
- tombert 6mo agoI don’t expose it at the boundaries, just within functions. With everything outside of the function I take a Map interface in and/or return the Map out. It makes no difference to the outside code.
- xorcist 6mo agoThat's really not much better. No function is an island, as wise man almost once said.
- tombert 6mo agoIt’s actually a lot better. That’s literally the whole point of interfaces and polymorphism: to make it so the outside does not care about the implementation.
- jpollock 6mo agoYou are communicating with future readers of the code. The presence of ConcurrentHashMap will lead future engineers into believing the code is threadsafe. This isn't true, and believing it is dangerous.
- tombert 6mo agoNo, they'll believe that that specific map is thread safe.