Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разъясните пожалуйста про метод написания кода 
:(
    Опции темы
nepster
Дата 22.10.2013, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



Разъясните пожалуйста про метод написания кода.

Я натнулся вот на такую вещь: https://github.com/f1nder/CliCrawler

начал разбирать это дело и честно говоря не понял ничего. Что это за стиль такой, 

почему одинаковые структуры в папка spec и src? 

Код

interface UrlCollectorInterface
{
    /**
* Add url to collection return false if url exist
*
* @param $url mixed
* @return boolean
*/
    public function addUrl($url);

    /**
* Add url to collection return false if url exist
*
* @param $urls mixed
* @return boolean
*/
    public function addUrls($urls);

    /**
* Remove url from collection
*
* @param $url mixed
* @return boolean
*/
    public function removeUrl($url);

    /**
* Return all urls, sorted by quantity tags
*
* @return array
*/
    public function getUrls();

    /**
* Check url exist in collection
*
* @param $url
* @return boolean
*/
    public function isExist($url);

    /**
* Return all not visited url
*
* @return array
*/
    public function getAllUnvisitedUrls();

    /**
* Set visited mark to url
*/
    public function setVisited($url);

    /**
* Check url visited or not
*
* @param $url
* @return boolean
*/
    public function isVisited($url);

    /**
* Set tags quantity for url
*
* @param $url
* @param $value
* @return mixed
*/
    public function setQuantity($url, $value);

    /**
* Get tags quantity by url
*
* @param $url
* @return integer boolean
*/
    public function getQuantity($url);

    /**
* Get tags quantity by url
*
* @return array
*/
    public function getUrlsSortedByQuantity();
}



Для чего вообще вот это дело сделали ? 

В общем подскажите пожалуйста, что это за стиль программирования и куда нужно копать? 

PM MAIL   Вверх
bars80080
Дата 23.10.2013, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



вы бы разделяли вопросы, а то не понятно, что конкретно спрашиваете.
что делает приведённый код?
или почему одинаковые структуры в папках?

по поводу первого почитайте:
http://yandex.ru/yandsearch?lr=22&text=php+interface
http://php.ru/manual/language.oop5.interfaces.html
PM MAIL WWW   Вверх
baldina
Дата 23.10.2013, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(nepster @  22.10.2013,  21:19 Найти цитируемый пост)
почему одинаковые структуры в папка spec и src? 

файлы одинаковые, а содержимое разное.
каркас кода в src автоматически строится по спецификации в spec посредством phpspec - это тулза для разработки кода совместно с тестами: сначала создается тест, потом код
PM MAIL   Вверх
nepster
Дата 23.10.2013, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



про интерфейсы понял, только вот не понял зачем их тут применять. Тоесть зачем писать интерфейс ? 


А по тестам, я так понялэто аббревиатура tdd? Я об этом много слышал, вообще подскажите стоит ли изучать такой метот программирования ?
PM MAIL   Вверх
baldina
Дата 23.10.2013, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



изучать стоит все, использовать ли - зависит от задачи.
имхо создание небольших проектов с использованием TDD мозг просветляет, и помогает там где TDD неприменимо.
PM MAIL   Вверх
nepster
Дата 23.10.2013, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



Цитата

и помогает там где TDD неприменимо. 


всмысле ? Привидите пример пожалуйста 
PM MAIL   Вверх
baldina
Дата 23.10.2013, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



например, взаимодействие процессов

Добавлено через 1 минуту и 7 секунд
.... не говоря уже об организационных причинах
PM MAIL   Вверх
nepster
Дата 23.10.2013, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



я поня, большое спасибо 
PM MAIL   Вверх
bars80080
Дата 24.10.2013, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(nepster @  23.10.2013,  13:30 Найти цитируемый пост)
только вот не понял зачем их тут применять. Тоесть зачем писать интерфейс ? 

когда над проектом работает не один человек, а целая команда. архитектуру построил один отдел и заложил её железно с помощью интерфейсов, где разъяснён смысл функционала. другие разработчики просто дописывают те блоки, которые в их ответственности.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.