Несмотря на то, что кто-то может сказать, я считаю, что завершение кода (aka Intellisense) является вторым лучшим изобретением, когда дело доходит до редакторов кода сначала синтаксическая раскраска). Это действительно упрощает кодирование, потому что мне не нужно беспокоиться, называю ли я функцию CalculateReportSums
, ReportSumsCalculate
или просто GetReportSums
.
К сожалению, я еще не нашел редактор кода, который бы удовлетворительно реализовал эту функцию для PHP. И "удовлетворительным" я имею в виду "так же хорошо, как Visual Studio для С#".
Мой первый выбор текстового редактора - Notepad ++, но у него есть только список встроенных функций PHP, и он появляется только после нажатия Ctrl + SPACE. Я также пробовал Eclipse + PDT, который лучше, но все же часто имеет икоту, иногда вообще не удается без видимой причины (нет списка) и всегда появляется только при паузе ввода (установка тайм-аута на небольшое значение вызывает список не отображается вообще).
Итак - там что-то лучше? Что-то, что было бы известно обо всех переменных в текущей области, которые могли бы следовать за include()
s и отображали бы список в режиме реального времени по мере ввода?
Я знаю, что PHP - это динамический язык, и в принципе невозможное полное завершение кода невозможно (потому что вы не знаете, какие переменные будут там до выполнения), но все равно можно реализовать его довольно неплохо степени - намного лучше, чем я видел до сих пор.
Добавлено:. Чтобы добавить несколько второстепенных точек - я хочу, чтобы CC был мгновенным, например, в Visual Studio. Я набираю символ, и список отображается в тот же момент. Я набираю другой символ, и список становится вдвое меньше, чем я могу даже моргнуть. Почти нулевое использование ЦП, мгновенные результаты (все приветствуют богов кеширования!).
Также - я в порядке с документированием моих функций и даже переменных особым образом. Я предпочитаю синтаксис PHPLint (потому что тогда я могу проверить свой код с ним позже), но другие синтаксисы тоже будут работать. Принуждение к этому также полезно для вашей дисциплины комментариев.:)