Всем привет! Прошу оценить "алгоритм оценки качества PHP кода". Статический анализатор вычисляет около сотни различных характеристик кода. На их основе вычисляется "индекс качества исходника". Работу алгоритма можно посмотреть здесь http://expertjournal.ru/source Добавить исходник можно здесь http://expertjournal.ru/source/new Т.е. добавляете исходник, получаете индекс его качества и комментарии анализатора кода. expertjournal.ru оформлен с виде социальной сети для программистов.
Ладно, ладно... Ты бы описал чего там ваш супер-пупер алгоритм делает. А то дёшевенько так отрекламировался и всё. Пиши больше и интересней... Вот. Напиши какие. Вот ещё. Какой алгоритм вычисления этого индекса... Ну ты понял.
Файл 'phpinfo.php' имеет недопустимое расширение Файл 'phpinfo.txt' имеет недопустимое расширение УПС, как я ошиблась... Произошла внутренняя ошибка системы. Администрации ExpertJournal.Ru автоматически отправлено письмо с сообщением ошибки и дампом состояния ...
Вычисляются характеристики кода (примеры характеристик см http://expertjournal.ru/article/view/id/12, кроме них вычисляется: плотность классов, методов, исключений ...), они сравниваются с эталонными значениями. Чем ближе к эталону тем выше "индекс качества кода". Можно добавить и новую собственную собственную характеристику кода, она будет добавлена к анализатору. Со временем алгоритм будет совершенствоваться. Но пока на качественном уровне он вполне нормально работает. PS. При добавлении кодов просьба писать более осмысленные названия и описания.
Качества кода оценивает и внутренний механизм оценки и люди с помощью голосования. Если вы добавить код, то система сразу оценит его качества. Потом его индекс качества может быть подкорректировать экспертами.
Ппц. http://www.php.ru/forum/viewtopic.php?t ... ght=usbook (только engine.php) http://expertjournal.ru/source/response/id/738 Оценка: 23 из 100. Я мог представить что угодно, но только не такой маразм. Два? ООП наш фетиш. Дальше особенно забавные замечания, ввиду того, ясно что ООП нет: Вот это перл, переменные (!!!). Про константы эксперты не в курсе. Возможно??? Потрясающий критерий. И эпик фэйл: Дальше уже хочется не смеяться, а плакать: а по-моему, микроскопические. Эксперт, у тебя склероз? Ты забыл, что там ООП вообще нет? Не склероз, маразм. Имеются ввиду чтоли пустые строки? Аффтар, отвечай за свои слова! Покажи две одинаковые строки! Склероз последней стадии. Только что сам писал же, что функции нормального размера. ГДЕ ХОТЬ ОДНА??? Сервис доставил)) ТС, пеши исчо поржом.
Для интереса загрузил деревья. Так высокая или средняя? Средняя или нормальная? Один. Это хорошо или плохо? Один класс унаследован 3 раза. Для архива из четырех классов надо больше? Конечно часто, все переменные через нее берутся. Какие строки? Строки кода или строки как тип данных? Слишком длинные это сколько? Если я ничего не перепутал, то цепочки имеют вид типа: Код (Text): $this->DB->getVal(); Даже не совсем цепочка. ЧО? Строки в основном потому и длинные что используются эти переменные: Код (Text): "select $this->leftField as lf, $this->rightField as rf, $this->levelField as lev from $this->table as tree where $pLeft<=tree.$this->leftField and $pRight>=tree.$this->rightField and $pLev=tree.$this->levelField-1 order by $this->leftField" Или имеются ввиду public свойства? А не приватных? Опять же какие строки? Если строки кода, то, мне кажется, что все что можно уже вынесено в отдельные методы. PS: [vs] У меня оценка больше - 38.
Надо загрузить чтото из "библиотеки" Попова. Чтото мне подсказывает, что там не менее 90-а баллов будет Все ж мы помним про "Рыбак рыбака..." ))) По делу - нет в пхп единого стандарта, который бы с точностью в 100% определял бы когда нужно ооп юзать, а когда натив; когда одну функцию, когда другую; точно также и с различного рода конструкциями типа if|else VS switch|case. И поскольку в пхп автор кода может выбирать наиболее подходящий с ЕГО точки зрения подход - то и вот эти оцениватели кода - субьективное мнение. Не спорю, что оно, возможно, основано на наиболее общепринятых подходах и стилях, но это не орфографический словарь, который определяет четкие понятия и отклонение от них - это ошибка. Даже авторы "умных" книг, которые являются авторитетными (авторы) в своем промысле (пхп) иногда рекомендуют делать не так как быстрее, а так, чтобы было удобней в последующей поддержке того кода, чтобы код был человекопонятным и простым для восприятия, жертвуя 0.005 сек при генерации.
А что вы смеётесь? А если скажут, что от результата этого теста будет зависеть ваша ЗП в престижной компании? Может, постараетесь и напишите код "получше"? ИМХО: авторы не доделают алгоритм, уже запутались.
Смешные вещи - смешные. Такая престижная компания идёт на... И так говнокодим каждый день, куда уж лучше то.
Алгоритм действительно не совершенный. Вопрос его развития - это вопрос актуальности. От комментариев анализатора кода отказались, в некоторых случаях действительно выглядит глуповато. В данный момент, кроме анализатора кода есть еще и составляющая основанная на голосовании. Говнокоды получили 1 бал и справедливость восторжествовала. Так что система в целом вполне работает.
Просьба исходникам давать внятные названия и описания. Исходники с названиями типа " loooool loooool " будут удаляться.
И не будет НИКОГДА совершенным. Это ПСЕВДОАЛГОРИТМ. Наёбка, если хотите. Нет. Это вопрос глупости. Я, если денег дадут, за неделю сделаю сайт со своим анализатором кода. Поспамлю на форумах и получу тонну говнокода от детишек-говнокодеров... Только зачем всё это надо? Какой профит от говнокода?
От говна всегда мало толку. Ничего не мешает туда и хорошие коды добавлять. Все познается в сравнении. Немножко поподробнее напиши, почему ты считаешь его псевдоалгоритмом? Раз написал, что псевдоалгоритм, значит наверное сильно разберешься в разных алгоритмах и уж точно должен знать почему коды сранивать нельзя. К примеру тексты в поисковиках сравнивают, а коды почему то нельзя.
ExpJ Идеального кода не существует. Просто никак. Вообще в природе. Код может быть хорош в конкретном месте в конкретной ситуации, да и то почти всегда его можно переписать по другому. Один и тот же код в разном контексте может быть и говнокодом, и хорошим решением. Так что подобный сервис бред чуть более чем полностью.
Задачки разные, код разный. Одну задачку можно решить множеством способов и все они будут правильными, за исключением "вырезания гланд через задний проход". Как я могу оценить качество кода в данном случае?! Только основываясь на собственном опыте. И это будет субъективная оценка. А если я доверяю оценивать код машине - это будет трижды субъективная оценка. Откуда мне знать насколько компетентен разработчик "программы-оценивателя"?! Откуда этой программе знать для чего предназначен код?! И так далее... Оценка качества кода очень субъективная вещь. Два специалиста об одном и том же коде могут отозваться абсолютно противоположно. И это нормально. Доказывать качество кода должен сам автор. Проблема настолько большая, что никогда вы не напишите объективный алгоритм оценки качества кода, никогда. Это, в принципе, возможно, но практически - не реально.