Size: a a a

2020 May 06

BT

Bohdan Turchyk in PHP
Volodymyr Melko
удобно юзать всякие устаревшие апи с миллионом необязательных параметров, а не пилить свои врапер поверх
то же самое - их надо не "удобно юзать", а сделать так, чтобы не было неудобно
врапперы, переписывание и так далее
источник

ЕР

Евгений Ромашкан... in PHP
Bohdan Turchyk
я обобщаю
если есть возможность наговнокодить - то люди наговнокодят
незачем давать им больше возможностей для этого
В том и суть, что если захотят то наговнокодят.
А аргумент Марко про BC оч здравый, да
источник

VM

Volodymyr Melko in PHP
Bohdan Turchyk
то же самое - их надо не "удобно юзать", а сделать так, чтобы не было неудобно
врапперы, переписывание и так далее
https://www.php.net/manual/ru/function.openssl-pkcs7-verify.php

думаешь это кто-то порефакторит? это буде еще больший BC-break
источник

PP

Pavel "Al'gerd&... in PHP
Написать свой враппер и в композер
источник

PP

Pavel "Al'gerd&... in PHP
Фиксить надо говнокод. В худшем случае, не увеличивать объем
источник

VM

Volodymyr Melko in PHP
Евгений Ромашкан
В том и суть, что если захотят то наговнокодят.
А аргумент Марко про BC оч здравый, да
я может не дочитал о чем говорит Марко, но если это об изменении имени аргумента, то помойму это бред менять имя аргумента в наследниках.
менять имя при рефакторинге метода - да бывает, но не думаю что это происходит чаще чем изменение типа аргументов при рефакторинге, что тоже BC-break
источник

VM

Volodymyr Melko in PHP
Pavel "Al'gerd" Patapau
Написать свой враппер и в композер
или не писать бесполезный код, а передать только нужные аргументы
источник

BT

Bohdan Turchyk in PHP
Volodymyr Melko
я может не дочитал о чем говорит Марко, но если это об изменении имени аргумента, то помойму это бред менять имя аргумента в наследниках.
менять имя при рефакторинге метода - да бывает, но не думаю что это происходит чаще чем изменение типа аргументов при рефакторинге, что тоже BC-break
ты меняешь имя аргумента - и ломаешь все упоминания, где это используется как именованный параметр
источник

VM

Volodymyr Melko in PHP
Bohdan Turchyk
ты меняешь имя аргумента - и ломаешь все упоминания, где это используется как именованный параметр
как часто ты меняешь имя аргумента не меняя сигнатуру метода вцелом?
зная, что имена аргументов - это часть контракта метода, будешь более взвешено подходить к именованию изначально, тогда и переименовывать не придется
источник

BT

Bohdan Turchyk in PHP
Volodymyr Melko
как часто ты меняешь имя аргумента не меняя сигнатуру метода вцелом?
зная, что имена аргументов - это часть контракта метода, будешь более взвешено подходить к именованию изначально, тогда и переименовывать не придется
а ты оптимист, я смотрю
источник

BT

Bohdan Turchyk in PHP
люди не начнут более взвешенно подходить к именованию
источник

VM

Volodymyr Melko in PHP
Bohdan Turchyk
а ты оптимист, я смотрю
ну я помню пару раз такое делал, и это были фиксы опечаток. Но так чтоб вот постоянно таким заниматься - я хз
источник

PP

Pavel "Al'gerd&... in PHP
В идеальном мире все с первого раза подбирают адекватные имена. На практике
https://martinfowler.com/bliki/TwoHardThings.html
источник

VM

Volodymyr Melko in PHP
на практике выбрать имя бывает трудно, но имена и не меняются в каждом новом коммите. не вижу в это трагедии, если честно.
источник

F

FOX in PHP
Вредные советы: если не можешь в нейминг - добавляй в конце "Manager". Вроде "UserManager" или "PaymentManager" :)
источник

DE

Dmitry Eliseev in PHP
FOX
Вредные советы: если не можешь в нейминг - добавляй в конце "Manager". Вроде "UserManager" или "PaymentManager" :)
А если кажется, что умеешь, то пишешь ерунду без Manager.
источник

U

Unknown in PHP
))))
источник

F

FOX in PHP
sad but true
источник

VM

Volodymyr Melko in PHP
более того. если так уж хочется обеспечить BC, то при рефакторинге можно сделать что-то такое
function test(int $arg1, int $arg2): void
{
   //some code here
}

function test(int $newArg1 = null, int $newArg2 = null, ...$args): void
{
   $newArg1 = $newArg1 ?? $args['arg1'];
   $newArg2 = $newArg2 ?? $args['arg2'];

  // some code here
}

ну и потом, значительно позже, когда все обновят свои именованные аргументы
function test(int $newArg1, int $newArg2): void

зы. я бы так не делал, но как я говорил, я и имена аргументов меняю редко
источник

ЕР

Евгений Ромашкан... in PHP
Volodymyr Melko
ну я помню пару раз такое делал, и это были фиксы опечаток. Но так чтоб вот постоянно таким заниматься - я хз
Проблема в том падать оно будет в рантайме, учитывая контекст ЯП
источник