Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 25.07.2011, 00:45
Аватар для SlavaPav
Аспирант
Отправить личное сообщение для SlavaPav Посмотреть профиль Найти все сообщения от SlavaPav
 
Регистрация: 25.02.2010
Сообщений: 57

Сообщение от monolithed Посмотреть сообщение
SlavaPav,
Мне вот интересно стало, что вы подрузумеваете под шаблонным проектированием в JS и для каких целей вы советуте использовать TDD?
Не уловил суть последнего вопроса. Мне TDD кажется отличной методикой разработки. При своей простоте и простительности к небогатым опытом разработчикам, за счет небольших итераций и отсутствия детального предварительного проектирования, она дает заметный результат в виде устойчивого, чистого кода. А шаблонное проектирование я вроде не упоминал.
Ответить с цитированием
  #22 (permalink)  
Старый 25.07.2011, 00:48
Аватар для SlavaPav
Аспирант
Отправить личное сообщение для SlavaPav Посмотреть профиль Найти все сообщения от SlavaPav
 
Регистрация: 25.02.2010
Сообщений: 57

Сообщение от monolithed Посмотреть сообщение
Заснет на вступлении первой)

На мой взгляд, нужно прочесть Фленагага и Стояна Стефанова, затем внимательно статьи Дмитрия Сошникова и плавно перейти на стандарт языка.
Я хотел посоветовать книги конкретно по JavaScript, но мне показалось что он уже читал их. Если нет, то ваш совет вполне соответствовал бы моему. На русском, кроме Ресига, вроде больше ничего и нет?
Ответить с цитированием
  #23 (permalink)  
Старый 25.07.2011, 01:02
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от SlavaPav
Не уловил суть последнего вопроса.
Такая методика возможно уместна при разработке больших проектов, где может нарушиться ветвление и связанность, но в реалии не один работодатель (возьмем веб-студию) не даст сотруднику время на проектировании и тестирование какой-нибудь менюшки.

Ну или если не сложно, то покажите (можно псевдокодом) как вы себе это представляете.
Сообщение от SlavaPav
На русском, кроме Ресига, вроде больше ничего и нет?
Стефанов, Фленаган, Закас
Ответить с цитированием
  #24 (permalink)  
Старый 25.07.2011, 01:12
Аватар для SlavaPav
Аспирант
Отправить личное сообщение для SlavaPav Посмотреть профиль Найти все сообщения от SlavaPav
 
Регистрация: 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 в 01:21.
Ответить с цитированием
  #25 (permalink)  
Старый 25.07.2011, 11:56
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Sundro,
незачет, на форуме целый раздел посвящен учебным материалам, может вам лучше заняться чем-то другим, например махать лопатой?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #26 (permalink)  
Старый 25.07.2011, 12:08
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Gozar Посмотреть сообщение
Sundro,
незачет, на форуме целый раздел посвящен учебным материалам, может вам лучше заняться чем-то другим, например махать лопатой?
ну-с. лопатой в армии поработает, а пока можно и программирование помусолить
Ответить с цитированием
  #27 (permalink)  
Старый 25.07.2011, 12:24
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

Сообщение от Gozar Посмотреть сообщение
Sundro,
незачет, на форуме целый раздел посвящен учебным материалам, может вам лучше заняться чем-то другим, например махать лопатой?
Мне хотелось в первую очередь узнать как махать этим инструментом, что бы рыть быстрее.
Ответить с цитированием
  #28 (permalink)  
Старый 25.07.2011, 12:47
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

рыть быстрее научишься со временем. учись пока лопату держать и копать правильно. как прихерачишься, скорость нарастет сама собой.
Ответить с цитированием
  #29 (permalink)  
Старый 25.07.2011, 13:39
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Sundro Посмотреть сообщение
Мне хотелось в первую очередь узнать как махать этим инструментом, что бы рыть быстрее.
Этого сайта достаточно чтобы уметь быстро рыть, даже форума хватит, ты просто лентяй и не читаешь то, что уже написано. Когда я сюда пришёл такой вопрос был допустим, сейчас - нет. Никто тебе знания в голову закалачивать не будет, если не способен делать это сам, займись другим делом.

"Добро пожаловать в реальный мир" (из матрицы школы)
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #30 (permalink)  
Старый 25.07.2011, 13:42
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от melky
ну-с. лопатой в армии поработает, а пока можно и программирование помусолить
после нашей армии в разработку не возвращаются))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где посмотреть мои темы? forroboform Сайт Javascript.ru 2 08.05.2011 15:48
Куплю cd диск приложение к книге Гудмана "Библия пользователя javascript"- 5-е издани Иваннн Javascript под браузер 4 19.06.2010 00:00
определить где курсор olgatcpip Общие вопросы Javascript 5 27.04.2010 08:59
Исходный мануал по JS, где взять? mycoding Общие вопросы Javascript 10 23.01.2010 11:49
Где ошибка? gogi Общие вопросы Javascript 8 04.02.2009 11:21