►
From YouTube: Magento Architectural Discussion -- April, 3, 2019
Description
- Code style rules
- Backward compatibility: adding optional argument in constructor
https://github.com/magento/architecture/issues/137
B
B
B
Like
can
we
assume
that
it
was
like
by
changes
minor
or
major
and
I
want
to
discard
this
question
with
you,
for
example,
what
effect
for
bug
fix
to
exist
in
rule
that
just
prevent
false
positive
behavior?
It's
definitely
a
bite
release,
for
example.
What
if
we
remove
the
road
from
the
rule
set?
What
if
this
is
Magento
written
by
us
rule
or
or
if
it's
out
of
box,
who
that
is
the
part
of
PHP
code,
sniffer
I
assume
this
is
also
a
patch
release
about
universe.
B
That's
that's
a
bachelor's
about
minor
changes.
This
happens
in
case
if
we
want
to
add
noodle
to
the
coding
standard
or
like,
if
you
want
to
add
a
generic
flow
or
really
want
to
implement
some
magenta
specific
and
at
this
roti
they're
all
set
and
break
and
change
I
assume
it's
related
to
namespace
changes.
If,
for
example,
if
you
want
to
change
the
name
of,
it
is
right
now.
B
B
Yeah
there
was
some,
let's
say,
unexpected
behavior
one
of
the
outer
box.
If
that
was
not
written
by
us,
that
was
peach,
P
shells,
generic
sniff,
that
was
trying
to
detect
the
function,
doesn't
contain,
throw
annotation
in
case
if
it
can
throw
an
exception
of
people
and
the
unexpected
behavior
was
that
it
doesn't
work
with
inherited
documentation.
B
A
D
B
E
Yeah,
in
my
opinion,
I
think
we
should
add,
lose
from
standard
to
minor
release,
because
if,
if
I
or
my
team
asking
me
hey,
which
ruse
in
the
current
coding
standard
and
I
can
tell
ya,
this
are
boo-boos.
And
this
is
how
the
terrifying,
and
if
we
removing,
who
is
from
a
patch
or
by
a
rough
patch,
I
I,
think
it
should
be
a
minor.
Because
then
the
team
has
the
possibility
to
commit
on
a
minor
version
or
not
on
a
patch
but
I
think
removing
is
not
the
best
way
on
the
patch.
B
A
A
A
G
G
E
We
try
to
implement
this
download
or
something
like
that
and
magenta
removing
this
from
the
standard
rule
set,
because
there
is
not
some
definition
in
the
in
the
coding
guidelines.
Maybe
the
team
don't
see?
Oh
there's
a
rule
removed,
but
our
team
has
committed
to
this
rule.
This
is
why
I
think
it
should
be
a
minor
release,
not
a
patch
release,
because
if,
if
you
are
using
a
standard
in
a
team
you're
trying
to
have
an
alignment
with
your
development
team
and
all
body.
E
A
C
B
B
B
In
the
constructor
we
throw
we
throw
an
error,
so
the
most
important
question
is:
what
type
of
severity
is
this?
Can
we
reject
extensions
because
of
this
so
I
believe
the
in
case?
If
somebody
decided
to
to
make
such
mistake,
it
will
like
break
the
part
of
interception,
functionality,
approximation
knowledge
statement.
B
C
C
C
G
G
B
E
B
A
G
F
E
That's
I,
think
20
test
cases
or
something
like
that
with
different
implementation
or
for
each
and
for
and
data
and
gathers
and
then
around
this
over
the
magenta
coat
and
very
fine,
most
issues
manually
and
then
I
found
a
park
in
the
year,
a
peach,
pea,
plugin
and
then
I
open
with
purposed
for
for
the
plugin,
as
also
I
changed
my
implementation
and
ran
again
and
run
again
and
run
again
and
and
now
we
have
many
findings.
But
some
findings
are
not
so
easy
to
fix.
E
I
do
some
fixing
fixes
for
MSI
result,
I
think
we
had
two
or
three
failing
integration
tasks,
because
some
edge
cases
are
not
covered
by
the
good
example,
because
you
can,
if
you
have
very
complex
erase,
you
can
also
do
things
wrong.
It's
not
so
easy
to
like.
This
is
the
pattern
and
you
can
refactoring
like
that.
It
works
for
99%,
but
you
have
1%.
G
G
B
B
B
B
B
Yeah
yeah,
because
you
here,
we
definitely
know
that
those
functions
work
with
system
resources
and
not
the
point
here
is
that
it
goes
a
little
in
conflict
with
discouraged
functions
because
have
a
list
function.
We
prefer
not
to
use
in
magenta
modules
and
our
suggestion
is
to
use
framework
wrappers,
so
I'd
prefer
to
add
here
the
line
that
we
applied.
This
on.
B
C
B
H
E
Question
sorry
and
if
extension
developer,
using
stream
or
curl
or
something
like
that,
what
will
happen
they
get
warning,
hey,
don't
use
it.
The
please
implement
a
wrapper
or
what
I
get
because
of
some
cases.
In
some
cases
you
need.
These
functions
were
for
some
use
cases
of
the
extension.
Maybe
it's
yeah,
currently
I,
don't
I,
don't
have
a
use
case,
but
I
think
it
can
be
possible
to
have
a
curl
or
open
me
to
open
connection
to
order
system,
and
maybe
the
framework
doesn't
support
option.
A
E
E
E
But
I
think
we
don't
shoot
a
low
of
or
we
don't
shoot
or
you
should
allow
extension
developer
to
use
some
functions
to
open
connections.
Maybe
it
can
be
at
home
but
yeah
in
the
most
cases,
it's
correct
to
use
the
default
framework
stuff,
but
in
some
cases
you
have
a
use
case.
Maybe
you
cannot
use
the
framework
yeah.
A
H
I
I
A
A
A
J
H
We
will
be
creating
this
rule,
we
will,
we
will
be
creating
this
list
of
classes.
We
will
be
very
strict
about
classes
in
this
list
like
if
this
is
not
some
well-known
layer
supertype,
then
we
would
say
that
this
class
is
not
meant
by
extension.
For
instance,
we
have
some
session
manager,
magenta
framework
session
session
manager
and
some
classes
extent.
There
is
this
session
manager
and
potentially
another
extension
may
want
to
extend
the
like
this
this
class,
but
we
would
say
that
this
is
we.
H
H
G
A
E
Yeah
magenta
doesn't
recommend
inheritance,
but
I
see
so
many
extension.
They
use
inheritance
for
API
classes.
They
are
not
so
known
because
there
are
some
protected
method
in
there
or
some
public
method
in
there
or
maybe
a
protective
method
and
I
need
to
extend
this
protective
method.
With
my
own
code,
it
happens
so
many
times,
I
see
so
often
an
extra
or,
in
extension,
I
think
yeah
can
break.
G
G
J
E
Maybe
maybe
there
is
no,
not
so
many
cases
but
I
think
it's
still
possible
and
there
are
so
many
extension
developer,
not
know
about
best
practices
and
Magento.
Also
yeah,
the
marketplace
is
really
okay,
but
if
you
have
a
own
marketplace
or
something
like
that
and
extension
doesn't
develop,
doesn't
know
about
a
I,
don't
should
use
inheritance
and
adding
own
parameters
to
the
constructor.
It
maybe
breaks
and
I
must
check
it.
How
often
and
in
which
cases
it
breaks
but
I
think
it
can
be
possible
and
I.
E
E
C
Actually,
from
my
opinion,
if
any
changes
emergencies
break
some
scenario,
so
if
you
don't
follow
our
best
practice,
don't
fry
test
by
your
extension,
any
changes
in
Magento
you
can
break
can
break
your
extension
and
if
mine
reason
for
to
not
accept
this,
that
we
can
break
time
extension
okay
will
always
break
some
extension
every
spy
she
releases,
because
any
changes
can
break
some
scenario
and
for
function.
If
we
talk
about
functional
break,
it
be
different
to
you.
If
you
just
return
plus
one
in
a
next
extension
have
to
expect
some
and
you
break
it.
B
A
A
E
I
had
in
the
past,
I
don't
remember
on
the
extension,
but
we
had
a
patch.
This
was
break
in
an
extension
of
adding
a
constructor
parameter
or
something
like
that
because
they
don't
use
tasks.
Yet
the
marketplace
goes
the
way
you
should
have
to
tests
and
more
tests.
It's
are
usable
and
get
more
practice
or
in
Magento,
two
or
more
known,
but
yeah.
Currently
we
don't
have
to
state
of
any
extension
has
test
and
any
developer
knows
about
the
best
practices
of
Magento
and
yeah.