25.07.2011, 01:45
|
|
Аспирант
|
|
Регистрация: 25.02.2010
Сообщений: 57
|
|
Сообщение от monolithed
|
SlavaPav,
Мне вот интересно стало, что вы подрузумеваете под шаблонным проектированием в JS и для каких целей вы советуте использовать TDD?
|
Не уловил суть последнего вопроса. Мне TDD кажется отличной методикой разработки. При своей простоте и простительности к небогатым опытом разработчикам, за счет небольших итераций и отсутствия детального предварительного проектирования, она дает заметный результат в виде устойчивого, чистого кода. А шаблонное проектирование я вроде не упоминал.
|
|
25.07.2011, 01:48
|
|
Аспирант
|
|
Регистрация: 25.02.2010
Сообщений: 57
|
|
Сообщение от monolithed
|
Заснет на вступлении первой)
На мой взгляд, нужно прочесть Фленагага и Стояна Стефанова, затем внимательно статьи Дмитрия Сошникова и плавно перейти на стандарт языка.
|
Я хотел посоветовать книги конкретно по JavaScript, но мне показалось что он уже читал их. Если нет, то ваш совет вполне соответствовал бы моему. На русском, кроме Ресига, вроде больше ничего и нет?
|
|
25.07.2011, 02:02
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от SlavaPav
|
Не уловил суть последнего вопроса.
|
Такая методика возможно уместна при разработке больших проектов, где может нарушиться ветвление и связанность, но в реалии не один работодатель (возьмем веб-студию) не даст сотруднику время на проектировании и тестирование какой-нибудь менюшки.
Ну или если не сложно, то покажите (можно псевдокодом) как вы себе это представляете.
Сообщение от SlavaPav
|
На русском, кроме Ресига, вроде больше ничего и нет?
|
Стефанов, Фленаган, Закас
|
|
25.07.2011, 02:12
|
|
Аспирант
|
|
Регистрация: 25.02.2010
Сообщений: 57
|
|
Сообщение от monolithed
|
Стефанов, Фленаган, Закас
|
Я и имел ввиду этих авторов + Ресиг. Забыл про Закаса. Потому что так и не читал.
Мне TDD кажется эффективной и для небольшого кода. Если привыкнуть, то циклы - "тест-провал-код-успех-рефакторинг" будут занимать немного времени, плюс экономится время затрачиваемое на поиск и устранение ошибок.
// очень простая функция, которую писал по задаче из ЕГЭ
function extractMaxNumber(str) {
argumentMustBe('string');
return assembleMaxNumber( extractDigits(str) );
function argumentMustBe(type) {
if (typeof str != type) {
throw new TypeError('Argument must be a ' + type);
}
}
function extractDigits(str) {
var digits = str.match(/[1-9]/g);
return digits ? digits.sort() : [];
}
function assembleMaxNumber(digits) {
return (digits.length !== 0) ? generateMaxNumber(digits) : 0;
}
function generateMaxNumber(digits) {
return trimMeaningless(digits.reverse().join('')) * 1;
}
function trimMeaningless(str) {
return str.replace(/(\d)\1+/g, '$1');
}
}
// очень простые тесты
TestCase('TestExtractMaxNumber', {
'test should throw error argument not string': function() {
assertException(invalidArg, 'TypeError');
function invalidArg() {
extractMaxNumber(null);
}
},
'test should return number': function() {
assertTrue(typeof extractMaxNumber('1992') == 'number');
},
'test should return zero if empty string': function() {
assertEquals(extractMaxNumber(''), 0);
},
'test should return zero if string without digits': function() {
assertEquals(extractMaxNumber('string'), 0);
},
'test should return ordered digits': function() {
assertEquals(98721, extractMaxNumber('9882string71820'));
}
});
Последний раз редактировалось SlavaPav, 25.07.2011 в 02:21.
|
|
25.07.2011, 12:56
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Sundro,
незачет, на форуме целый раздел посвящен учебным материалам, может вам лучше заняться чем-то другим, например махать лопатой?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
25.07.2011, 13:08
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от Gozar
|
Sundro,
незачет, на форуме целый раздел посвящен учебным материалам, может вам лучше заняться чем-то другим, например махать лопатой?
|
ну-с. лопатой в армии поработает, а пока можно и программирование помусолить
|
|
25.07.2011, 13:24
|
Аспирант
|
|
Регистрация: 25.05.2011
Сообщений: 46
|
|
Сообщение от Gozar
|
Sundro,
незачет, на форуме целый раздел посвящен учебным материалам, может вам лучше заняться чем-то другим, например махать лопатой?
|
Мне хотелось в первую очередь узнать как махать этим инструментом, что бы рыть быстрее.
|
|
25.07.2011, 13:47
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
рыть быстрее научишься со временем. учись пока лопату держать и копать правильно. как прихерачишься, скорость нарастет сама собой.
|
|
25.07.2011, 14:39
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от Sundro
|
Мне хотелось в первую очередь узнать как махать этим инструментом, что бы рыть быстрее.
|
Этого сайта достаточно чтобы уметь быстро рыть, даже форума хватит, ты просто лентяй и не читаешь то, что уже написано. Когда я сюда пришёл такой вопрос был допустим, сейчас - нет. Никто тебе знания в голову закалачивать не будет, если не способен делать это сам, займись другим делом.
"Добро пожаловать в реальный мир" (из матрицы школы)
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
25.07.2011, 14:42
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от melky
|
ну-с. лопатой в армии поработает, а пока можно и программирование помусолить
|
после нашей армии в разработку не возвращаются))
|
|
|
|