@phpclubru

Страница 808 из 956
dypa
16.02.2019
18:44:48
Pavel
16.02.2019
18:46:02
SomeEnum::FOO()->getValue() === ...
Это выглядит так же уродливо как симулировать пространста имен через My_Namespace_Classname

И смешивать аннотации с комментариями

dypa
16.02.2019
18:49:44
Это выглядит так же уродливо как симулировать пространста имен через My_Namespace_Classname
пхп никогда не отличался красотой разницы особой нет как писать через \ или _ ну а писать комментарии вообще не нужно в 99% случаев, потому что содержание этих комментариев не имеет смысла

Google
Pavel
16.02.2019
18:50:48
И укрепился в нише всяких битриксов и вордпрессов

Gleb
16.02.2019
18:52:35
И укрепился в нише всяких битриксов и вордпрессов
А почему не красиво сочетать комменты и аннотации?

И укрепился в нише всяких битриксов и вордпрессов
Аннотации для завершённых логических блоков Комменты для расшифровки магии построчно

Pavel
16.02.2019
18:53:45
А почему не красиво сочетать комменты и аннотации?
Хуже читабельность, можно случайно потереть 1 символ и логика сломается

Pavel
16.02.2019
18:55:06
dypa
16.02.2019
18:55:15
Pavel
16.02.2019
18:55:27
dypa
16.02.2019
18:56:41
А как он спасет?
файл и строку показывает в котором ошибка )

Dmitry
16.02.2019
18:59:18
Вот из-за таких рассуждений пшп уже скатился в рейтинге популярности на 8-9 место ?
да как раз наоборот, из-за того, что можно сравнивать несравнимое

Pavel
16.02.2019
19:05:40
файл и строку показывает в котором ошибка )
Чет мне кажется что он не сможет поймать ошибку, ведь нельзя формально понять, является ли комментарий аннотацией или просто комментарием.

Google
Pavel
16.02.2019
19:07:11
/** @Annotation /** @annotation /** @ Annotation вот первое это аннотация которую понимает доктрина, а 2 и 3 нет. Но если не доктрина, то и 2 может быть аннотацией.

Pavel
16.02.2019
19:22:03
придется дописать свое правило руками - мир жесток
Ну пхп мир жесток, а остальные миры более лояльные :)

Aleksandr
16.02.2019
19:49:06
SomeEnum::1() === 1 ты себе это так представляешь?
=== вообще бессмысленный оператор

Mr. Blonde
16.02.2019
19:53:06
Да вообще, пхп такой язык, что в нем все операторы тупые и бесполезные, шутка - юмор

А потом ржут все паблики, мол язык говно, типы фе

Aleksandr
16.02.2019
19:54:20
Ну просто он никак не помогает в поиске ошибок

Передашь разные типы молча вернет фалсе и все

Mr. Blonde
16.02.2019
19:55:25
Ну просто он никак не помогает в поиске ошибок
А он должен помогать именно в поиске ошибок?

Ну ассерты есть

Aleksandr
16.02.2019
19:55:42
А зачем он нужен вообще?

Mr. Blonde
16.02.2019
19:55:45
Тесты есть

А зачем он нужен вообще?
Зайди в мануал и почитай про == и ===

Это строгое сравнение

Aleksandr
16.02.2019
19:56:32
Одинаковые типы так же прекрасно и == сравнит

Mr. Blonde
16.02.2019
19:56:50
Ну тогда забей

Aleksandr
16.02.2019
19:56:53
Эта строгось в пыхе не работает

Mr. Blonde
16.02.2019
19:57:02
Можешь и про спейс не читать

Эта строгось в пыхе не работает
Во всех работает, а в php нет

Aleksandr
16.02.2019
19:58:17
Где во всех? В питоне оно ошибку бросит если разные типы сравнивать, емнип

Google
Pavel
16.02.2019
20:16:03
в питере?

Aleksandr
16.02.2019
20:20:12
питоне, конечно же

Mr. Blonde
16.02.2019
20:22:39
Ну так пиши строго на пхп

Тебе кто мешает?

Ну просто бред полный, 0 не null, а цифры не строки

Aleksandr
16.02.2019
20:30:23
Ну просто бред полный, 0 не null, а цифры не строки
Как часто у вас в код для сравнение через === по логике прилетают разные типы?

И вы именно расчитываете что оно вернет false т.к. типы разные

Mr. Blonde
16.02.2019
20:32:04
Явное - лучше не явного

Aleksandr
16.02.2019
20:33:07
Это не ответ на вопрос

Mr. Blonde
16.02.2019
20:33:17
Ну блин, ок. Есть у тебя дефолт null, а клиент передал 0

Это ответ?

Aleksandr
16.02.2019
20:34:34
Во-первых от клиента всегда прилетает строка, такой уж http протокол.

Mr. Blonde
16.02.2019
20:34:50
Ок

Aleksandr
16.02.2019
20:35:06
Хотя пофиг. Холивор какой-то очередной получается.

Pavel
16.02.2019
20:35:40
Я вообще не понимаю в чем суть спора. Распарсить фразы могу а семантический анализ нет.

Aleksandr
16.02.2019
20:35:43
Пока я не видел ни одного примера, где === был бы действительно поелезен. Но видел места, где забыв привести тип потом думал, а чего это оно не работает.

Pavel
16.02.2019
20:36:01
Ну === лучше чем ==

Aleksandr
16.02.2019
20:36:06
Pavel
16.02.2019
20:36:11
Но хуже чем === который еще контролирует приводимость типов

Google
Aleksandr
16.02.2019
20:36:17
Ну === лучше чем ==
Чем он лучше?

Mr. Blonde
16.02.2019
20:36:35
Хотя пофиг. Холивор какой-то очередной получается.
Какая разница, что там с http, function ($a = null)

$a = o;

Pavel
16.02.2019
20:36:54
Чем он лучше?
Тем что он не дает false positive. Если два значения не равны но приводимы друг к другу, то == скроет ошибку.

Aleksandr
16.02.2019
20:37:34
Тем что он не дает false positive. Если два значения не равны но приводимы друг к другу, то == скроет ошибку.
Ну, он может дать false negative когда не примели к одному типу. Тоже не лучше.

Pavel
16.02.2019
20:38:22
Ну, он может дать false negative когда не примели к одному типу. Тоже не лучше.
== дает false positive и false negative. === дает false negative. Следовательно множество ошибок у === меньше.

Aleksandr
16.02.2019
20:39:03
Эм, это в каких случаях == дает false negative?

Pavel
16.02.2019
20:39:08
А падажжи, хотя насчет == false negative походу я не прав

Dmitry
16.02.2019
20:39:24
=== лучше тем же, чем и явное указание типов - он показывает, что программист думал по типы, когда писал код

а если привычки по типы думать нет - то лучше ==... Но и отношении коллег будет соответствующее

Pavel
16.02.2019
20:41:21
Лучше бы интерпретатор это ловил и этой привычки не было, тогда можно было бы думать про предметную область а не типы :)

Dmitry
16.02.2019
20:42:19
сначала нужно научиться думать про типы, а потом уже стоить из себя программиста предметной области

Pavel
16.02.2019
20:42:57
А нужно ли? Возможно и нет.

Aleksandr
16.02.2019
20:43:01
Окей. Я думаю про типы и могу гарантировать что в сравнение прилетает 2 переменных одного типа. В чем профит использовать === а не ==?

Dmitry
16.02.2019
20:43:03
а то приходят программисты... не знают сколько в байте

Aleksandr
16.02.2019
20:43:48
Вообещ в нормальных языках ты объявил типы а за корректностью уже следит компилятор. А в пыхе приходится думать вместо него (

Pavel
16.02.2019
20:43:54
а то приходят программисты... не знают сколько в байте
Так ты же и сам не знаешь по какому смещению у тебя там переменные в памяти лежат, а почему? Потому что интерпретатор позволяет не думать об этом. И время освобождается для действительно полезных дел.

Dmitry
16.02.2019
20:43:59
а из программистов, которые думают только о предметной области, а о инженерной области не думают - хорошие программисты не родятся

Google
Aleksandr
16.02.2019
20:46:15
есть база, есть реализация.. базу знать нужно - а то услышишь в ответ "а что такое смешение"
И до какого уровня спускаться нужно? Как работает процессор знать надо?

Dmitry
16.02.2019
20:46:36
в лучшем случае аналитики... Но обычно вылупляются менеджеры

Pavel
16.02.2019
20:46:51
есть база, есть реализация.. базу знать нужно - а то услышишь в ответ "а что такое смешение"
Ну вот на практике скажем, в среднем, разработчик java/c#/c++ более квалифицирован чем разработчик php, согласись. Тем не менее в этих языках компилятор следит за соответствием типов, следить за этим вручную это довольно бесполезное занятие.

И это в общем не относится к пониманию типов вообще, в инженерном смысле.

Aleksandr
16.02.2019
20:48:18
Dmitry
16.02.2019
20:48:33
И до какого уровня спускаться нужно? Как работает процессор знать надо?
мне тут на собеседовании один товарищ сказал "а, ну да, я помню что компьютер оперирует 0 и 1... не понимаю почему так сделали, а не ввели 0 1 2 3 например"... как думаешь, стоит на такой уровень опускаться?

Pavel
16.02.2019
20:50:24
нет, следит программист, а компилятор лишь помогает находить ошибки
Это что называется простые опечатки. Если кто-то случайно в коде начал сравнивать яблоки с температурой, то это что значит, что он не понимает типы? Нет, скорее всего он просто опечатался. Тут невнимательность а не квалификация.

Pavel
16.02.2019
20:51:29
да нет... инженер-программист отдела эксплуатации...
Тогда такой вопрос со звездочкой - если человек пишет программы на лиспе, то ему обязательно знать про представление чисел на процессоре или нет? =)

Если он оперирует вообще символьными вычислениями только

Dmitry
16.02.2019
20:51:53
а пхп, он изначально пропагандировал "не думай об этом, я все за тебя сделаю"

Pavel
16.02.2019
20:52:27
а пхп, он изначально пропагандировал "не думай об этом, я все за тебя сделаю"
Тут надо уточнить, "все за тебя сделаю _правильно_", или "сделаю за тебя и ошибки тоже."

Dmitry
16.02.2019
20:54:07
Тогда такой вопрос со звездочкой - если человек пишет программы на лиспе, то ему обязательно знать про представление чисел на процессоре или нет? =)
тут все просто - ну бывает программиста в вакууме, он им как-то стал. Или учился, тогда знает. Или видосики на ютубе смотрел, тогда не знает.

Pavel
16.02.2019
20:54:47
тут все просто - ну бывает программиста в вакууме, он им как-то стал. Или учился, тогда знает. Или видосики на ютубе смотрел, тогда не знает.
А может он математик изначально. И решил писать искусственный интеллект. Тогда ему вообще никак не поможет знание о том что компьютер оперирует 0 и 1.

Dmitry
16.02.2019
20:54:57
Когда человек не понимает, почему цифровое оборудование оперирует 0 и 1 - мне страшно

Pavel
16.02.2019
20:56:16
ну так он не программист... ты же с легаси много работаешь, должен понимать отличие
Почему, программист. Я как раз чем больше работаю ч разным кодом, тем больше у меня размывается понятие программиста.

Страница 808 из 956