News for hackers. Stuff that matters.
Re:Deutsche Bank makes source code publicly available for th... by cutler on Sunday October 08, 2017 @08:00PM (#15430692)
ProtobufTransportProtocolSerializationProvider

Enterprise OO Garbage is alive and well.

Re:Deutsche Bank makes source code publicly available for th... by stephengillie on Sunday October 08, 2017 @08:03PM (#15430700)
How would we prevent this? Asking for a friend.
Re:Deutsche Bank makes source code publicly available for th... by cutler on Sunday October 08, 2017 @08:07PM (#15430716)
Just refuse to play the insane Java/C# Enterprise OO game. Kotlin would be a good alternative but my preference would be Clojure where brevity and simplicity are valued.
Re:Deutsche Bank makes source code publicly available for th... by BoorishBears on Sunday October 08, 2017 @08:18PM (#15430757)
Or just don't be redundant in any language. Unless there are multiple types of a "SerializationProvider", the name could be shortened to "ProtobufSerializationProvider"

And if there are multiple types of "SerializationProvider" (ie. there's an unrelated "CachingSerializationProvider ") then the name is unfortunately long, but accurate

Re:Deutsche Bank makes source code publicly available for th... by smnplk on Sunday October 08, 2017 @10:44PM (#15431255)
I think the main problem is not in the name of that class, the name is just a side effect of a bigger deeper problem.
Re:Deutsche Bank makes source code publicly available for th... by BoorishBears on Monday October 09, 2017 @10:56AM (#15434282)
What problem? DI is really useful if you're pragmatic about it, misuse is not really a property of a particular language
Re:Deutsche Bank makes source code publicly available for th... by 6ue7nNMEEbHcM on Monday October 09, 2017 @04:40AM (#15432310)
It looks like they may have convention to put name of the base class/interface in the type name.
Re:Deutsche Bank makes source code publicly available for th... by solotronics on Sunday October 08, 2017 @08:35PM (#15430818)
personally I find Java EE nauseating
Re:Deutsche Bank makes source code publicly available for th... by user5994461 on Monday October 09, 2017 @05:45AM (#15432531)
Don't prevent them, encourage them.

The next guy who work on your code will be happy to have variable and class names longer than 3 characters. Short names are evil.

Re:Deutsche Bank makes source code publicly available for th... by borplk on Sunday October 08, 2017 @10:27PM (#15431204)
It's unfair to label this as "Enterprise OO Garbage".

It's simply a verbose name.

Re:Deutsche Bank makes source code publicly available for th... by cutler on Sunday October 08, 2017 @10:52PM (#15431279)
It is OO garbage. The giveaway is "Provider". The ball of mud that is OO inevitably necessitates enlisting an army of services, proxies, factories, builders and managers simply to work around the complexities of OO. Even if you have a simple problem OO tends to make it complex.
Re:Deutsche Bank makes source code publicly available for th... by kuschku on Monday October 09, 2017 @06:21AM (#15432672)
So how else do you implement that functionality, allowing you to choose the serialization protocol at runtime?

You need some data structure to combine the functionality for serializing and deserializing, and you then need some function that can, depending on context, choose the correct such data structure.

And now you've got your transportprotocolserializer, transportprotocolserializerprovider, and transportprotocolserializerproviderfactory

Even in Haskell or Scheme you'd end up with the same data structures and functions, one that does TransportProtocolEnum -> TransportProtocol, one TransportProtocol -> Data -> SerializedData, and one TransportProtocol -> SerializedData -> Data.

If you want to allow at runtime configuration of the transport protocol of each service, you still need the same structures and functions.

Or how else would you implement it?

Re:Deutsche Bank makes source code publicly available for th... by jononor on Wednesday October 11, 2017 @05:10PM (#15453524)
Have an interface for Serializer, with N (> 1) implementations. Write the code to decide which to implementation to use in whatever place is appropriate for the desired functionality. For code that don't get to decide, pass the Serializer instance in.
Re:Deutsche Bank makes source code publicly available for th... by watwut on Monday October 09, 2017 @08:23AM (#15433207)
You can interweave everything into one long function full of ifs and switches. E.g. procesurally. Not saying it is better.
Re:Deutsche Bank makes source code publicly available for th... by _pmf_ on Monday October 09, 2017 @08:51AM (#15433372)
> You can interweave everything into one long function full of ifs and switches. E.g. procesurally. Not saying it is better.

No, you cannot, since you want to dispatch to components that you don't even know of (pulled in via class path or extension DLLs). Components that have not yet been written and will be provided by another team or 3rd party and never compiled in, but just added to the extension directory of the application.

It's getting a bit tiring hearing cargo cult JS developers talk the talk, but walking backwards in their blissful stench of second level ignorance.

Re:Deutsche Bank makes source code publicly available for th... by cutler on Sunday October 08, 2017 @10:40PM (#15431238)
Verbose languages encourage a culture of verbosity which in turn produces verbose architecture.
Re:Deutsche Bank makes source code publicly available for th... by 6ue7nNMEEbHcM on Monday October 09, 2017 @04:37AM (#15432301)
What's wrong about it?
Re:Deutsche Bank makes source code publicly available for th... by halfteatree on Sunday October 08, 2017 @08:31PM (#15430804)
Are you sure this is not a German thing? /s
Re:Deutsche Bank makes source code publicly available for th... by justin66 on Sunday October 08, 2017 @09:29PM (#15431039)
protokollprellbockverkehrprotokollserialisierunganbieter would be a lot catchier and roll off the tongue with ease.
Re:Deutsche Bank makes source code publicly available for th... by posterboy on Monday October 09, 2017 @05:20AM (#15432440)
let's see

   Protobuf-Transportprotokolserienvorrichter
   ProtopufSendeVorschriftLeitungsangebot
   VorlaufÜbertragungsDienstLeitungsDienstleister
what's wrong with pbtpsp anyway?
Re:Deutsche Bank makes source code publicly available for th... by watwut on Monday October 09, 2017 @08:17AM (#15433177)
Pretty much everything? I hope you was just joking.
Re:Deutsche Bank makes source code publicly available for th... by c-smile on Sunday October 08, 2017 @11:10PM (#15431344)
That made my day...
Re:Deutsche Bank makes source code publicly available for th... by tjohns on Sunday October 08, 2017 @08:05PM (#15430710)
That doesn't seem like Enterprise OO bloat, just overly verbose naming.

They could've called it ProtobufSerializer or ProtobufProvider.

Re:Deutsche Bank makes source code publicly available for th... by cutler on Sunday October 08, 2017 @08:14PM (#15430743)
They tend to cluster together in my experience. That one was picked at random in the first file I looked at which implies there are much worse offenders in the rest of the codebase.