Александр Воробьев

Александр Воробьев
Рейтинг
69
Регистрация
03.02.2020
ArbNet #:
Доверять безопасность сторонним приложениям это как минимум глупо

Проверь у себя метод core\Valid::Value если не менял стой версии, что у меня - то там опечатка есть

      case 'LOGIC':
        if($vtp != 'bolean') {
          $val = $val == 'false' ? false : boolval($val);
        }
        break;

     if($vtp != 'boolean') {


В общем прогнал я твой проект через анализатор.  Могу тебе прислать его вывод. (ну или дам инструкцию как его запустить - там дел на минут).  Понятно, что часть ошибок не существенные или идут от твоего подхода к коду.... Но тем не менее на минимальном уровне 75 на максимальном более 1000. (там больше 1000 уже не показывает точное число просто "1000+"

Я не спора для - думаю это может выловить вот подобные опечатки.

В дополнение про версию. Т.е если бы оставил типа по умолчанию работает как было, но параметром можно было бы включить новый синтаксис. Ну и пометил как депрекейт старый. То тогда можно было бы и минорную сменить. 
Sly32 #:
Дожал таки я тебя

Ранее при принятии решения не оценивал с точки зрения визуального восприятия. А ты тут написал... :)

Sly32 #:
Вот тут я как раз не знаю что правильно методологически - это можно считать v2.0  в таком случае.

Мажорная версия. Минорные только когда добавляются новые фичи и обновление не требует вмешательства. А тут при обновлении считай проект не будет работать, пока не заменишь на новый синтаксис шаблоны или не пропишешь старый. 


Я когда работал над пакетом инкремента версий на эту тему копал...

Sly32 #:
Нет ну все таки слэш глаза режет прям - непонятно что закрывает цикл.

Подумал.. подумал. и выпустил версию 2.0.0 (т.к. ломается совместимость) где "из коробки" синтаксис с префиксом end.

При этом, при желании, в три строки можно настроить "старый" синтаксис (вдруг случилось чудо и на моем фреймворке кто то портал огромный запилил 🤣 )

Sly32 #:
А сейчас в эру ИИ это и смысла особо не имеет. ИИ-шка тесты хорошо пишет
Ну вот тут я не уверен. Если тесты (по крайней мере в этом проекте) будет писать ИИ то ,возможно, меня не посетит какая то полезная мысль :)
Sly32 #:
в результате покрытие упало до 48% - это, конкчно, позор... каюсь
Полезная штука конечно. В рабочих проектах такое редко (все же тоже бюджета требует). Но местами позволяет на раннем этапе переосмыслить что то или обратить на что то дополнительное внимание. Написание доки тоже такой же эффект дает :). Но на разработку через тестирование не перешел :)
Sly32 #:
Нет ну все таки слэш глаза режет прям - непонятно что закрывает цикл.

Подумаю еще... :)

Sly32 #:
надо было уж тогда 

это уже дублирование. тут выбирать "/" или "end" но не вместе

Sly32 #:
И кстати про тесты - как с ними дела? Я вот в лерне честно говоря подзабил на них, в результате покрытие упало до 48% - это, конкчно, позор... каюсь

В этом проекте все полностью покрыто. Даже информеры есть в readme. вот например для шаблонизатора 

1 - Это сторонний сервис. Он там глубже чекает. Например плохой бал выдаст если слишком большая глубина условных.

2.- Степень покрытия тестами

3 - прогон  тестов в рзаных версиях php , для шаблонизатора это 8.5 и 8.6 (это будущий релиз) , фреймворк  еще и 8.4

Sly32 #:
Можно поподрбнее?

Это уже про собственный код. PHPStan Я так понимаю в стане питона это mypy и pylint

Ловит "опасные паттерны", проверяет типизацию (даже более "конкретно" чем позволяет сам язык), можно настроить запрет каких-то функцию (например eval - который любим хацкерами). Можно добавлять свои правила  и регулировать уровень его "паранои" :)


PS Возникла идея... Прогоню ка я им ту версию что у меня есть фреймворка от автора которому не нужны ни тесты ни инструменты безопасности :)  Публиковать детали не буду, возможно ему выхлоп покажу.... :) Уверен там стан на 0 уровне офигеет, а на 9ом вообще порятнку на 100500 строк выдаст

Всего: 1149