Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Новый проект, Когда начинаешь новый проект 
:(
    Опции темы
nornad
Дата 23.10.2007, 03:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Цитата(Platon @  22.10.2007,  23:10 Найти цитируемый пост)
Вот этот пункт интересный, гипотетически представляю что это и как, но, на практике что-то непонятно, как реализуется.

В смысле?.. Ты не в курсе, что такое юнит-тесты? smile 


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
AlexeyVorotnikov
Дата 23.10.2007, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(nornad @  23.10.2007,  04:49 Найти цитируемый пост)
Ты не в курсе, что такое юнит-тесты?

А что это такое?


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
alex_nevolin
Дата 23.10.2007, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(AlexeyVorotnikov @ 23.10.2007,  10:10)
Цитата(nornad @  23.10.2007,  04:49 Найти цитируемый пост)
Ты не в курсе, что такое юнит-тесты?

А что это такое?

Это фреймворк для написания тестов к разрабатываемым классам. Очень полезная вещь для разработки проектов в услових меняющихся требований и комадной разработки.
Junit

Добавлено через 3 минуты и 3 секунды
Учимся любить юнит тесты
PM MAIL   Вверх
pompei
Дата 23.10.2007, 11:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



О, братишка! Мне как раз надо кое-что спрограммисть а времени нет. Возьмёшся?

ЗЫ. Чтобы научиться писать программы надо написать хотябы одну.

Это сообщение отредактировал(а) pompei - 23.10.2007, 11:20
--------------------
А всё оказывается гораздо проще: пассивные наноструктуры - активные наноструктуры - системы наносистем - молекулярные наносистемы - сингулярность! По пять лет на каждый этап.
PM MAIL   Вверх
chief39
Дата 23.10.2007, 12:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

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



Цитата(Platon @  17.10.2007,  17:42 Найти цитируемый пост)
Пробовал начать с дизайна. Писал на бумажках, потом терял, да и зачем они там, какие-то хилые, проще с ходу писать, я не в команде, т.е. даже и для себя то в лом писать UML. Что посоветуете, какой диагноз?

Бумажки(электронные или древесно-волокнистые) используй в любом случае!!!
Даже(тем более) если пишешь один.
Забудешь - не вернёшь. Пиши джавадоку, даже если там тупейший метод(только не пиши "тупейший метод", пиши по сути, как для несведущего соседа).
Ну и всегда пиши хоть маленькую, но бумажку по архитектуре. Себе же полезно будет. Ну а лучше не маленькую бумажку, а хорошую, но небольшую доку.


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
nornad
Дата 23.10.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Цитата(alex_nevolin @  23.10.2007,  14:10 Найти цитируемый пост)
Это фреймворк для написания тестов к разрабатываемым классам.

Это больше чем фреймворк. JUnit - да, фреймворк, а юнит-тесты вообще - это технология. И юнит-тесты не привязаны только к Java, их можно использовать практически везде. Хотя, насчёт LISP я не уверен - не встречался с ним ни разу.
Если кратко, смысл юнит-тестов состоит в том, что сначала ты пишешь код тестирования своего кода (собственно, юнит-тесты), а уже затем пишешь сам рабочий код. Написал один-два юнит-теста - пишешь к ним код. Запускаешь. Добиваешься, чтобы всё отработало правильно (с точки зрения теста). Ничего нового и лишнего при этом в коде быть не должно. Только чтобы тест отработал. Затем придумываешь ещё один-два теста и добиваешься их отработки. Вот так, постепенно, твоя программа сама напишется за счёт "натягивания" её на юнит-тесты.
Честно скажу - впечатление незабываемое. smile

Добавлено через 4 минуты и 55 секунд
Цитата(Platon @  17.10.2007,  20:42 Найти цитируемый пост)
проще с ходу писать, я не в команде, т.е. даже и для себя то в лом писать UML

Согласен с chief39. Если ты не будешь стараться работать по уму, то в будущем не сможешь легко интегрироваться в команду разработчиков. Не думаю, что ты занялся программированием просто чтобы как-то развлечься. А писать до старости водиночку - реально, конечно, но только если денег тебе за это не требуется получать.  smile 


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Maksym
Дата 23.10.2007, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



Цитата(nornad @  23.10.2007,  12:47 Найти цитируемый пост)
Вот так, постепенно, твоя программа сама напишется за счёт "натягивания" её на юнит-тесты.

И в результате помимо своей системы получаешь еще тестировочный пакет, который может ее проверить вдоль и поперек.
PM MAIL   Вверх
AlexeyVorotnikov
Дата 23.10.2007, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(nornad @  23.10.2007,  13:47 Найти цитируемый пост)
Если кратко, смысл юнит-тестов состоит в том, что сначала ты пишешь код тестирования своего кода (собственно, юнит-тесты), а уже затем пишешь сам рабочий код. Написал один-два юнит-теста - пишешь к ним код. Запускаешь. Добиваешься, чтобы всё отработало правильно (с точки зрения теста). Ничего нового и лишнего при этом в коде быть не должно. Только чтобы тест отработал. Затем придумываешь ещё один-два теста и добиваешься их отработки. Вот так, постепенно, твоя программа сама напишется за счёт "натягивания" её на юнит-тесты.
Честно скажу - впечатление незабываемое

Юнит-тесты хороши, когда мы тестируем "боевого сферического коня в вакууме", т.е. метод, который складывает 2 и 2 (или обрезает расширение у имени файла) . А вот если метод читает-пишет файлы, работает с БД, с сетью или, не дай бог, с ПО стороннего производителя, вот тогда начинается веселье. :(

Выражение "натягивания" на юнит-тесты" -- это пять! smile))


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
chief39
Дата 23.10.2007, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

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



Цитата(AlexeyVorotnikov @  23.10.2007,  13:05 Найти цитируемый пост)
А вот если метод читает-пишет файлы, работает с БД, с сетью или, не дай бог, с ПО стороннего производителя, вот тогда начинается веселье. :(

Угу :( Если суть не в простой логике КА, а нужно протестить что-то сложное с "состояниями", причём очень сложными и разнесёнными по разным подсистемам.
"Хороший" юнит тест кэйс может быть размером с целую подсистему  smile  smile 
Кста, для этого ещё полезен dbunit.


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Shaggie
Дата 23.10.2007, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

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



Так... а JMock или альтернативными вы как активно пользуетесь? Сегодня только начал читать и тестить, впечатлился возможностями, но в голове каша.


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
v2v
Дата 23.10.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



ps в догонку сказанному на первой странице по поводу виртуальной машины. Когда надо было нести прогу в универ, где тоже нет явы.. я просто скопировал на флешку всю ЖРЕ\ директорию : работало на урА smile 


--------------------
PM   Вверх
Platon
Дата 23.10.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



nornad, я не писал, что не знаю что это такое, я писал, что не понимаю с чем их едят smile

Цитата(nornad @  23.10.2007,  12:47 Найти цитируемый пост)
Если ты не будешь стараться работать по уму, то в будущем не сможешь легко интегрироваться в команду разработчиков. Не думаю, что ты занялся программированием просто чтобы как-то развлечься. А писать до старости водиночку - реально, конечно, но только если денег тебе за это не требуется получать.  


Денег, конечно, требуется!!!  Но, есть и другой путь, который, я почти полностью уверен, используется тучей программистов. Когда проект задумывается, простенький и без команды, программист не беспокоится о документации, архитектуре и прочей номенклатуре, он просто пишет код. Когда из зерна начинается проклёвываться росток (т.е. проект пошел в гору), программист начинает задумываться о привлечении команды в проект и только тогда берется за бумажки. Могу привести в пример игру Domestic Cat'а при ее написании он не шипко старался угодить всем стандартам, а просто писал.

ЗЫ: я тут как раз пишу тестовую систему. Т.е. грубо говоря на вход тестируемому модулю поступают данные и возвращается результат, который сравнивается с эталонным. И JUnit натолкнул меня на мысль, что может в качестве тестера мне как раз использовать JUnit? Т.е. есть набор тестов (50 штук к примеру) через них лупится, на первой же осечке выходит из теста. А также существуют ограничения по времени и по выделенной памяти.
ЗЗЫ: простите, что я не так часто появляюсь, просто меня из дома выгнали, щас доступ в инет проблематичен :(
PM MAIL ICQ   Вверх
nornad
Дата 23.10.2007, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Цитата(Shaggie @  23.10.2007,  16:52 Найти цитируемый пост)
Так... а JMock или альтернативными вы как активно пользуетесь?

Лично я даже не слышал о таком. Я и юнит-тестами мало пользуюсь. Потому как интерфейс ими вообще не проверишь, а писать мне больше приходится интерфейсного, чем расчётного. В последних моих программах доля расчётов, которые можно обложить тестами составляет процентов десять. Имхо, юнит-тесты в этом случае уже не так полезны. Хотя в критических местах (где есть сложности с расчётами) применить всё же можно и зачастую нужно.

Цитата(v2v @  23.10.2007,  17:39 Найти цитируемый пост)
я просто скопировал на флешку всю ЖРЕ\ директорию : работало на урА

Ну, на такую JRE другие программы (чужие) завязать сложнее. Хотя при желании тоже можно. В принципе, Java не требует непосредственной инсталляции в винде.

Добавлено через 7 минут и 2 секунды
Цитата(Platon @  23.10.2007,  22:40 Найти цитируемый пост)
Могу привести в пример игру Domestic Cat'а при ее написании он не шипко старался угодить всем стандартам, а просто писал.

Это пример проекта, который был создан ради развлечения и не предполагал ни передачи кода другим разработчикам, ни развития проекта в будущем.
Достаточно яркий пример написания "фор фан". Если так писать за деньги, то будешь не очень хорош в команде. На маленьких проектах - вполне нормально может получаться долгое время. Но в итоге всё равно на одном из проектов придёшь к стадии, когда надо передать кому-то код. С документацией. И вот тут-то о тебе и сложится антересное мнение окружающих коллег.  smile 

Цитата(Platon @  23.10.2007,  22:40 Найти цитируемый пост)
И JUnit натолкнул меня на мысль, что может в качестве тестера мне как раз использовать JUnit?

Ну да. Зачем писать своё такое же? smile
Только тесты в JUnit, кажется, все прогоняются, а не "по первой осечке". Хотя, я с JUnit не работал. Тесты писал больше на сях. На Java пока не требовалось. smile


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Platon
Дата 23.10.2007, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(nornad @  23.10.2007,  20:14 Найти цитируемый пост)
Но в итоге всё равно на одном из проектов придёшь к стадии, когда надо передать кому-то код.

Вот, я как раз и описывал. Еще 1 аргумент. 2-3 энтузиаста собрались. А как мы знаем на голом энтузиазме далеко не уедешь, его хватает на 3-4 недели, а если ядреные энтузиасты то месяца на 3-4, не более. Так вот представьте, что это ценное время они стали тратить на написание документации и тестов. Пока они писали энтузиазм испарился в 2 раза быстрее + написанного целевого кода в 2 раза меньше. Итого в 4 раза меньше результата. !!! Я не говорю о том случае, когда ты работаешь в организации, и тебе не важно как долго, главное платят деньги. !!!

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

Спасибо alex_nevolin за статью, описанное принято к сведению.
PM MAIL ICQ   Вверх
nornad
Дата 24.10.2007, 02:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Цитата(Platon @  23.10.2007,  23:49 Найти цитируемый пост)
Так вот представьте, что это ценное время они стали тратить на написание документации и тестов. Пока они писали энтузиазм испарился в 2 раза быстрее + написанного целевого кода в 2 раза меньше.

Не согласен. Писать проектную документацию не должны все скопом - это не только у голых энтузиастов потерпит поражение, но и у "одетых". Документирование же кода отнимает времени совсем немного, если производить его в процессе, а не после.

Цитата(Platon @  23.10.2007,  23:49 Найти цитируемый пост)
Я не говорю о том случае, когда ты работаешь в организации, и тебе не важно как долго, главное платят деньги. !!!

Покажи мне ту организацию, где платят хорошие деньги за "неважно как долго", я туда уже хочу. smile

Цитата(Platon @  23.10.2007,  23:49 Найти цитируемый пост)

Но, зато, если у них появилась альфа версия, которую они смогут презентовать

Хорошо, если альфа. Но скорее это будет вообще макет, код которого в будущем использовать не стоит. Голый энтузиазм и отсутствие нормального проектирования с закреплением решений на "бумаге" приведёт к тому, что код будет не прямо-таки смердить. Да и документирование у тебя будет в стиле "эте не баг, это фича".

А вообще это обсуждение корректнее уже вести в разделе "Управление проектами". Непосредственно к одной лишь Java отношения оно уже не имеет.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

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


 




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


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

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