A quick asking around among programmers here gives 7:1 pro array() and
con [] syntax.
The latter is seen as less readable. Is there a technical advantage of
[] over array()
that we should harvest?
Purodha
On 12.02.2016 21:06, Ricordisamoa wrote:
Il 12/02/2016 20:26, Legoktm ha scritto:
Hi,
On 02/12/2016 07:27 AM, Daniel Kinzler wrote:
Now that we target PHP 5.5, some people are itching to make use of
some new
language features, like the new array syntax, e.g.
<https://gerrit.wikimedia.org/r/#/c/269745/>.
Mass changes like this, or similar changes relating to coding
style, tend to
lead to controversy. I want to make sure we have a discussion about
this here,
to avoid having the argument over and over on any such patch.
Please give a quick PRO or CON response as a basis for discussion.
In essence, the discussion boils down to two conflicting positions:
PRO: do mass migration to the new syntax, style, or whatever, as
soon as
possible. This way, the codebase is in a consistent form, and that
form is the
one we agreed is the best for readability. Doing changes like this
is
gratifying, because it's low hanging fruit: it's easy to do, and
has large
visible impact (well ok, visible in the source).
I'll offer an alternative, which is to convert all of them at once
using
PHPCS and then enforce that all new patches use [] arrays. You then
only
have one commit which changes everything, not hundreds you have to
go
through while git blaming or looking in git log.
CON: don't do mass migration to new syntax, only start using new
styles and
features when touching the respective bit of code anyway. The
argument is here
that touching many lines of code, even if it's just for whitespace
changes,
causes merge conflicts when doing backports and when rebasing
patches. E.g. if
we touch half the files in the codebase to change to the new array
syntax, who
is going to manually rebase the couple of hundred patches we have
open?
There's no need to do it manually. Just tell people to run the phpcs
autofixer before they rebase, and the result should be identical to
what's already there. And we can have PHPCS run in the other
direction
for backports ([] -> array()).
But if we don't do that, people are going to start converting things
manually whenever they work on the code, and you'll still end up
with
hundreds of open patches needing rebase, except it can't be done
automatically anymore.
My personal vote is CON. No rebase hell please! Changing to the
syntax doesn't
buy us anything.
Consistency buys us a lot. New developers won't be confused on
whether
to use [] or array(). It makes entry easier for people coming from
other
languages where [] is used for lists.
Objection: other languages may use [] for lists, but array() is more
similar to {} used for hash tables.
I think you're going to end up in rebase hell regardless, so we
should
rip off the bandaid quickly and get it over with, and use the
automated
tools we have to our advantage.
So, if we're voting, I'm PRO.
-- Legoktm
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l