LINUX.ORG.RU

Похапэ, блин


0

0

Ну разве не показателен тот факт, что для похапэ до сих пор не существует ни нормального просмотрщика, ни отдельного редактора, ни режима Emacs, который бы позволял легко и непринужденно ответить на вопрос:

1) какие переменные/функции никогда не вызываются в этом проекте?
2) где впервые объявлен/задействован вон тот идентификатор (see LXR)?
3) в каких местах он вообще задействован?

При читке и рефакторке чужого кода эти инструменты нужны как воздух. Я понимаю, что я настолько суров, что привык к grep (особенно grep --color, мням) и иже с ним, но, блин, чтобы даже напичканный фичами PDT этого не умел… Красноречиво говорит лишь об одном. Похаписты рефакторингом не занимаются, у них вообще совместимость с хорошими практиками крайне слабая.

★★★★★

>1) какие переменные/функции никогда не вызываются в этом проекте?

Как ты можешь ответить на этот вопрос в скриптовом языке? Разбирать каждый eval? А если его аргумент - результат вычислений?

>2) где впервые объявлен/задействован вон тот идентификатор (see LXR)?

Как ты можешь ответить на этот вопрос в скриптовом языке? У меня многие функции, скажем, вообще на лету конструируются.

3) в каких местах он вообще задействован?

Как ты можешь ответить на этот вопрос в скриптовом языке?

KRoN73 ★★★★★
()

>Похаписты рефакторингом не занимаются, у них вообще совместимость с хорошими практиками крайне слабая.

Рефакторинг - плохая практика. Да, неизбежная, но плохая. Она говорит об ошибках на этапе разработки структуры проекта. Грамотный код в рефакторинге не нуждается. Thinking Forth.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

известно насчет "хотели как лучше, а получили пушного зверька"?

Грамотный код в рефакторинге действительно не нуждается, но вот куски которые писались разными программистами с разным уровнем умения и в разное время приходится выпрямлять. это неизбежность...

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

> но вот куски которые писались разными программистами с разным уровнем умения и в разное время приходится выпрямлять.

имхо будет намного быстрее переписать проблемный участок с нуля, имея спеки на функциональность, чем разгребать чужой код, особенно без каких-либо комментов.

isden ★★★★★
()
Ответ на: комментарий от isden

> имхо будет намного быстрее переписать проблемный участок с нуля, имея спеки на функциональность, чем разгребать чужой код, особенно без каких-либо комментов.

Жизни ты, Дениска, не знаешь...

anonymous
()
Ответ на: комментарий от KRoN73

> Как ты можешь ответить на этот вопрос в скриптовом языке? Разбирать каждый eval?

Я бы хотел получить ответ на данный вопрос хотя бы без применения eval(). В худшем случае можно визуализировать все вызовы eval() и разобрать отдельно, но это уже меньше геморроя.

shimon ★★★★★
() автор топика
Ответ на: комментарий от isden

> имхо будет намного быстрее переписать проблемный участок с нуля, имея спеки на функциональность, чем разгребать чужой код, особенно без каких-либо комментов.

В текущем моем проекте нету спеков. Есть «скрепты» и есть «напильнег». Проблемы лечатся обычно так: если у пациента чешется пятка, надо огреть под дых. Если болит голова, отрезать руку.

Вот и разбирайся тут, #@$#$.

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

>Я бы хотел получить ответ на данный вопрос хотя бы без применения eval()

Тогда копай в сторону phpeclipse. unused-список не получишь, т.к. в PHP с этим совсем уже труба (ибо вызовы переменных по именам есть в любом крупном проекте, а во многих - на этом половина системы заведена), но уж определения идентификаторов и места их явного использования он выдаёт.

KRoN73 ★★★★★
()
Ответ на: комментарий от shimon

>В текущем моем проекте нету спеков. Есть «скрепты» и есть «напильнег».

Честное слово, PHP тут совершенно не при чём :D

KRoN73 ★★★★★
()
Ответ на: комментарий от shimon

> В текущем моем проекте нету спеков. Есть «скрепты» и есть «напильнег». Проблемы лечатся обычно так: если у пациента чешется пятка, надо огреть под дых. Если болит голова, отрезать руку.

ужаснах O_O

isden ★★★★★
()
Ответ на: комментарий от anonymous

> Жизни ты, Дениска, не знаешь...

Анна, вы на ЛОРе? O_O

isden ★★★★★
()
Ответ на: комментарий от KRoN73

> Тогда копай в сторону phpeclipse.

Уже копал. Вывести список строчек, где встречается переменная Х, оно не может. Вывести список строчек, где вызывается функция — не может.

Короче говоря, склоняюсь обратно к мысли о том, что надо либо самописное (но жалко жизни на какой-то проектик), либо грамотные регекспы + шелл будут заруливать всех по самые помидоры.

shimon ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.