I'm afraid original decision was made by inertia and without proper discussion. As you can see from this thread, people find difficult to describe pros of the suffix, apart from: * it informs consumers that they are type hinting against an interface (IDE informs as well; and from my experience there is no problem to make sure I work with an interface). * majority uses suffix; * it was already chosen in the past;
To be fair, last 2 of them are not arguments for the suffix, but against the change. In other words, some people are like "yes, no suffix is probably better, but it was already done, deal with it". We make mistakes and we should be allowed to fix them. On Friday, August 19, 2016 at 2:50:29 AM UTC+3, Chuck Burgess wrote: > > I have to concur with those who classify this akin to "tabs vs spaces", as: > - neither choice significantly hinders coding > - either choice could win a vote today and lose a revote in several months > > I see this as one of those "pick one and be done, stick with it, and focus > on harder stuff". > > I understand the points being made by those who don't like the suffix. > However, I see minimal benefit at best to reversing the original decision. > CRB > > On Aug 15, 2016 14:53, "Matthieu Napoli" <matt...@mnapoli.fr <javascript:>> > wrote: > > Hi all, > > This is a 2 weeks discussion before going to a vote. > > The "Interface" suffix has been questioned a few times already, I'm > suggesting we put that up to a vote and avoid future debates. Here are > relevant threads I could find on the topic: > > - https://groups.google.com/d/topic/php-fig/Zgfd0gHUUoc/discussion > - https://groups.google.com/d/topic/php-fig/dPwtKqO3Zqk/discussion > - https://groups.google.com/d/topic/php-fig/10lM-UNudvU/discussion > - https://groups.google.com/d/topic/php-fig/aBUPKfTwyHo/discussion > > Suggested change: *replace "MUST" to "MUST NOT" in "Interfaces MUST be > suffixed by Interface"* from > http://www.php-fig.org/bylaws/psr-naming-conventions/ > > I do not suggest accepted PSRs are changed. > > Please share your reasons to vote FOR or AGAINST the change, let's debate > for 2 weeks or more, and then let's have a vote to settle this. > > Discussion will last for at least 2 weeks (20:40 UTC on 29 August 2016). > > --- > > Here are my arguments to vote FOR the change: > > *- the Interface suffix makes simple names very long* > > For example with PSR-7, here is the signature of a Slim/Zend Expressive > middleware: > > public function __invoke(ServerRequestInterface $request, ResponseInterface > $response, callable $next) : ResponseInterface > > { > > } > > > Compare that to: > > public function __invoke(ServerRequest $request, Response $response, callable > $next) : Response > > { > > } > > > The last one is much simpler and clearer. Typing and reading the first one > is a huge pain. This point applies of course to all PSRs, not just PSR-7. > > *- the Interface suffix makes the interface a detail and the > implementation the main thing, it should be the other way around* > > We should care about the interface, not the implementation. Type-hinting > against LoggerInterface means that "Logger" (the implementation) is still " > *the* logger", and the interface is a secondary concept that we > explicitly inject for decoupling. > If "Logger" was the interface, it would be even more obvious that the > interface is the most important part. The implementation is secondary and I > don't even care how it's named. I just want a logger and that's what the > interface is. > > Regarding the inconsistency it would create between PSRs I think it's > nothing compared to what we would gain in terms of developer experience. > > Matthieu > > -- > You received this message because you are subscribed to the Google Groups > "PHP Framework Interoperability Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to php-fig+u...@googlegroups.com <javascript:>. > To post to this group, send email to php...@googlegroups.com <javascript:> > . > To view this discussion on the web visit > https://groups.google.com/d/msgid/php-fig/ea157c85-77b0-4fd4-a945-087ff1970a6c%40googlegroups.com > > <https://groups.google.com/d/msgid/php-fig/ea157c85-77b0-4fd4-a945-087ff1970a6c%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > > -- You received this message because you are subscribed to the Google Groups "PHP Framework Interoperability Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to php-fig+unsubscr...@googlegroups.com. To post to this group, send email to php-fig@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/f6c626fa-6549-4c0f-9e4e-35d43f450d5f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.