Closed xJREB closed 5 years ago
Golden Hammer
and Silver Bullet
very similar fields and could be merged.
CRUDy Interface
and Maybe It is Not RPC
are also quite similar and could be merged.
Extraneous Adjacent Connector
and Redundant PortTypes
could be the same since the latter one provides only one sentence as description with no additional fields so its hard to understand if there are any differences. Maybe these could also be merged.
@tschechlovdev @mpoqq any thoughts on this?
OK, since this will have effects on the publication and text, tables, and figures will have to be updated, I suggest that we do this right away. I try to provide a commit for this ASAP that your can then review.
OK, after also reviewing Shine Nickel, I propose to keep all three separate (The Shiny Nickel
, Golden Hammer
, and Silver Bullet
). They are all similar and related, but have a slightly different notions. So I guess it is worth it.
CRUDy Interface
and Maybe It is Not RPC
as well as Extraneous Adjacent Connector
and Redundant PortTypes
were merged by me (I kept the first name as the primary one).
Please review this before you merge it. And after merging, please update all antipattern and category counts everywhere. 😎 Thank you!
Because CRUDy Interface
and Maybe It is Not RPC
has the same two sources and they also defined these as separated antipatterns I think they are not the same.
CRUDy Interface (CI): is an antipattern where the design encourages services the RPC-like behavior by declaring create, read, update, and delete (CRUD) operations, e.g., createX(), readY(), etc. Interfaces designed in that way might be chatty because multiple operations need to be invoked to achieve one goal. In general, CRUD operations should not be exposed via interfaces [22].
Maybe It is Not RPC (MNR): is an antipattern where the Web service mainly provides CRUD-type operations for sig- nificant business entities. These operations will likely need to specify a significant number of parameters and/or com- plexity in those parameters. This antipattern causes poor system performance because the clients often wait for the synchronous responses [22].
With Extraneous Adjacent Connector
and Redundant PortTypes
I totally agree.
Because
CRUDy Interface
andMaybe It is Not RPC
has the same two sources and they also defined these as separated antipatterns I think they are not the same.
I also saw that the they are from the same source, but I still fail to see a significant difference. Both stress that an RPC-like behaviour with CRUD operations is bad, because it leads to chatty APIs and therefore poor system performance. What would be the different notions I miss?
@tschechlovdev and I have discussed it again and we agree with you. Keeping them separate is perhaps more confusing than merging them together.
OK, then I merge this and kindly ask you to update the numbers for antipatterns and categories everywhere. 👼
Major revision of the JSON files; please have a look at your antipatterns and review if this is still in line with the literature. Moreover, I stumbled across the following antipattern pairs that may be candidates for merging:
Golden Hammer
andSilver Bullet
CRUDy Interface
andMaybe It is Not RPC
Extraneous Adjacent Connector
andRedundant PortTypes
Are these antipatterns significantly different so that it would be beneficial to keep them separate? What do you think?