Ковыряю движок собственного сайта. Собственно рабочий момент. Geany вполне так удобная среда для разработки на PHP. А TOra - весьма неплохой клиент для MySQL.
Единственное, что понравилось - код на темном фоне. ИМХО панель слишком широкие, феерическое ШГ в заголовках табов/окон, вистовые обрамление смотрится ничего так, хотя ИМХО тоже не в тему, корзина на рабочем столе не нужна. Вот в общем все. И да, реквестирую обоину.
Иконки и Comic Sans - у меня в целом мультяшный стиль. И он мне нравится. Как-то успокаивает и позволяет отдохнуть.
У Geany очень приятная интеграция с SVN, автодополнение кода, какое-то подобие менеджера проектов и ещё кое-какие плюшки, которые конечно можно поиметь в VIM, но мне лень.
Прозрачность (ИМХО) в разумных пределах наоборот смотрится симпатично.
Ты в .inc хранишь код? И настройки тоже? Учти — хтакссесс может отвалиться и пароль от бд утечёт наружу.
Комментарии — круто, но забей на эту штуку и возьми (или напиши) генератор запросов и слой абстракции от базы данных. Когда разных запросов становится больше десяти — без него ты никуда не уедешь.
У нас в универе так двоечники каждую строку комментировали чтобы перед преподом их читать.
Ты видно не работал над большими проектами, когда спустя какое-то время приходится возвращаться к собственному коду и вспомнить как он работает. Чем детальнее комментарии, тем легче потом с этим кодом работать.
Условия — массив (карта) ключ=>значение, или ключ=>(значение,оператор), где оператор - =, !=, <, >, <=, >=, ~ (LIKE), ~~(= регистро-независимо), <- (IN), ~<- (NOT IN) ну и т.д.
Вставлять можно построчно (ключи — имена столбцов), а можно большой двумерный массив с числовыми индексами, где имена столбцов — в первой строчке.
При обновлении можно таким же образом как в условиях сказать, например, /= или ещё что-нибудь.
Поверх всего навешан кэш, к именам таблиц автоматически добавляется префикс, подключение к базе данных может выполняться только при первом запросе (а может — и принудительно).
Ну и далее в том же духе.
Я сам себе не враг:)
А по поводу конфигов — вдруг потом придётся переносить куда-то, или ешё чего. Я не вижу смысла делать расширение не „.php“. Хотя про запрет в хтаксессе забывать в любом случае не стоит, потому что на моей памяти были случаи, когда на хостингах обработчик php отваливался и выдавал код для доступных файлов.
Не помню уже, когда у себя последний раз к БД напрямую обращался... ORM рулит. А так - какой смысл делать отдельными параметрами limit/order/offset и запоминать их порядок, когда можно занести их в $conditions?
А зачем смешивать две различных сущности — фильтры и опции. Возможно опции и стоит внести в массив параметров (подумаю над этим), но объединять с фильтрами зачем?
А вообще, по большому счёту, поверх этой прослойки есть ещё одна — в каждом модуле, использующем бд.
Смотря что для тебя большой проект. Но я гарантирую тебе, что комментарии в духе «возвращаем результат» тебе ничем не помогут, и размер проекта тут ни при чем.
А зачем смешивать две различных сущности — фильтры и опции
Для борьбы с преждевременной оптимизацией ;)
Эти сущности очень хорошо различаются. А искусственное разделение сильно усложняет синтаксис. Оно надо?
Возможно опции и стоит внести в массив параметров (подумаю над этим), но объединять с фильтрами зачем?
Затем, что в PHP тяжеловесен синтаксис параметров. И писать два array() в одном вызове - это уже излишество. А если один из параметров (который в списке будет первым) будет пустой - писать пустой array()? Как ни крути, а получается некрасиво :)
А вообще, по большому счёту, поверх этой прослойки есть ещё одна
По большому счёту с БД должен работать бэкенд ORM'а. И тебя не должны волновать БД, таблицы, префиксы...
Единственное, что мне однозначно понравилось — минус при сортировке назад.
Там много подобных оптимизаций. Например, часто нужна выборка по field IN(...). Можно сделать так:
>Но я гарантирую тебе, что комментарии в духе «возвращаем результат» тебе ничем не помогут
Именно так :) Документировать самодокументирующийся код - не только ненужная работа, но и неоправданное снижение информационной плотности кода. Документировать нужно только неочевидные места.
>Написал строку кода - напиши что она делает. Святое правило.
Нужно срочно от этого правила избавляться. Мало того, что это удваивает объём писанины и снижает концентрацию на основной задаче, так это ещё и затрудняет чтение кода через некоторое время. Придётся в тоннах комментариев искать реально требующие внимания вещи.
Написал строку кода - напиши что она делает. Святое правило.
Это плохое, негодное правило. Разве из строчки уже не видно что она делает? Если не видно - значит у вас:
1. Код плохо структурирован, можно попробовать его несколько реорганизовать (например extract method). Есть достаточно простое правило - код в пределах функции должен иметь примерно одинаковый уровень абстракции.
> Написал строку кода - напиши что она делает. Святое правило.
Это плохое, негодное правило.
Это хорошее правило в случае если человек пишет на том же пыхпыхе раз в год, и в коде ковыряется с той же периодичностью. Сам так делаю когда на сях быдлокод пишу, ибо подзабыл я си основательно, да и кодить на нем получается не чаще раза в год, а код ковырять и того режею
>Ты видно не работал над большими проектами, когда спустя какое-то время приходится возвращаться к собственному коду и вспомнить как он работает. Чем детальнее комментарии, тем легче потом с этим кодом работать.
Все поголовно практически работают над большими проектами, в котором код переодически перечитываешь много месяцев спустя при нулевой документированности. Да и вообще утверждают, что любой код читается в десять раз чаще, чем пишется.
Собственно говоря, если ты не смог прочесть алгоритм, то чего ты вообще забыл в программировании?
Это хорошее правило в случае если человек пишет на том же пыхпыхе раз в год
на чем бы человек не писал код в остальное время комментарии типа:
// если a больше 0
if (a>0)
не нужны. так же как и коментарий «освобождаем ресурсы» перед функцией mysql_free_results и «выполняем запрос» перед mysql_query - разве из названий функций не видно?
шрифты - просто говно полнейшее, курсив и прозачность заголовков - жесть. Заголовок Geany вообще прочитать не возможно. Черный черный бэкграунд кода с неоновой подсветкой явно выподает из общего дизайна. Трей - ппц полный.
>Ты видно не работал над большими проектами, когда спустя какое-то время приходится возвращаться к собственному коду и вспомнить как он работает. Чем детальнее комментарии, тем легче потом с этим кодом работать.
Сударь, вы не правы. Количество комментариев должно быть минимально достаточным для понимания кода.
Человеку, который пользуется таким оформлением на своем десктопе, нельзя доверять дизайн сайтов. Это просто вырви_глаз.exe, особенно comic sans ms и вистодекорации.