NewVision WEB-development Team Blog

Фотоcет с agilebasecump 2010


29 мая в Киеве прошла конференция, посвященная гибким методам командной разработки http://agilebasecamp.org

Также мы посетили тренинги:

Всем докладчикам большое спасибо. Было весело и интересно !
(далее…)

Стандарты Кодирования

Выкладываем основную часть стандартов кодирования, которые выработала наша команда на ретроспективах.

База данных

Именование полей

  • для полей с датами используем окончание _at, например: last_checked_at
  • для логических полей (boolean: true/false) исползуем приставку is_, например is_active
  • при использовании составных имен в начале указываем «главную сущность», затем ее характеристику. По сути аналогичное правило применяется и для названия переменных, классов, файлов и т.п. Такое правило упрощает читабельность и сортировку. Т.к. схожие сущности группируются вместе
  • #INCORRECT
    input_link_id
    output_link_id

    #CORRECT
    link_id_input
    link_id_output

(далее…)

Прикручиваем Autocomplete с изменяемой callback-функцией скрипта

Жил себе жил и тут вот резко захотелось прикрутить такую модно-прогрессивную штуку к нам в проект, как Autocomplete. И все бы хорошо, да вот есть у нас под строкой ввода поискослов два волшебных радиобатона. А переключают эти радиобатоны разные типы поиска. То-есть нажал на один, вводишь слово – выводится список слов выбранных с помощью одного скрипта, нажал другой и, о чудо, запрос убежал умчался к другому скрипту. Волшебство, магия и страшное колдунство, а делать-то надо, иначе не интересно жить:)
(далее…)

Заметки из статьи – Джоэль Спольски, Функциональные спецификации

  • Функциональная спецификация описывает, как в целом будет работать продукт с точки зрения пользователя. Не имеет значения, каким способом штуковина сделана. Она говорит об особенностях. Она определяет экраны, меню и т.д.
  • Техническая спецификация описывает внутреннее исполнение программы. Она говорит о структурах данных, моделях реляционной базы данных, выборе языков программирования и инструментариев, алгоритмах и пр.

Прежде всего, отказ от написания спецификаций – это ваш самый большой ненужный риск при разработке программного продукта. Это так же глупо, как намерение перейти пустыню Мохаве, взяв с собой в рюкзаке только постельное белье, и в надежде импровизировать по пути.

Наиболее важная функция спецификации –проектирование программы (design the program). Даже если вы работаете один, и пишете спецификацию исключительно для себя, процесс ее написания – описание того, как работает программа до мельчайших подробностей – заставит вас непосредственно проектировать программу.

(далее…)

Мы в Twitter’е!

Мы появились в Twitter’е. #newvision и ник NewVisionTeam.
Follow us ))

Регистр в объявлении action`а в roting.yml

Недавно столкнулись с проблемой в тесте.
В тесте с помощью sfBrowser (sfTestFunctional) запрашивали страничку, используя роут:

url_for('@cart_clear')

роут был объявлен следующим образом
routing.yml:

cart_clear:
  url: /cart/clear
  params: {module: cart, action: clearcart}

(далее…)

Doctrine DQL и его хитрый Limit-subquery-алгоритм

Иногда DQL подкидывает замечательные сюрпризы в генерируемых SQL запросах. В такие моменты начинаешь жалеть, что не прочитал доки от корки до корки))
(далее…)

Перевод статьи «Спроси эксперта: Добавление условия поддомена в routing.yml»

Оригинал статьи: Call the expert: Adding subdomain requirements to routing.yml


Вопрос на который я наткнулся в почтовой рассылке предоставил отличный случай для демонстрации гибкости маршрутизации в symfony 1.2
Иверт Хармлинг (Evert Harmeling) спросил следующее:
«Как я могу направить sub1.domain.com/test на роут отличный от sub2.domain.com/test в пределах одного приложения (application)?»

Это не поддерживается прямо ядром симфонии, но функциональность компонента маршрутизации может быть легко расширена до необходимой Иверту.
(далее…)

Symfony: Изменение прав (credentials) пользователя без релогина используя sfDoctrineGuardPlugin

Регистрируясь в нашей системе пользователь должен подтвердить свой email. Как только пользователь подтверждает свой email его с чистой совестью можно добавить в группу «client» и разрешить использовать все возможности нашей системы не требуя перелогиниться.
И вот вчера, решая эту простую задачу я столкнулся с очень любопытным явлением, о котором я бы хотел рассказать.

(далее…)

Gource visualization software – как показатель совместного владения кода

Обыграли с помощью Gource парочку своих репозиториев. Как уже упоминалось в прошлой статье, Gource – программа для визуализации активности (коммитов) репозитория. Она строит анимированное дерево по структуре репозитория, с корневой директорией проекта в качестве центра. Директории отбражаются как ветки, а файлы проекта – как листья дерева. Разработчики очень похожи на пчел, которые летают и опыляют дерево…
Gource хорошо показывает степень совместного владения кода.

P.S. не забудьте активировать звук…

(далее…)

« Предыдущие записи