понедельник, 9 июня 2014 г.

Ссылка. О расширенном делегировании

http://namerec.blogspot.ru/2014/06/blog-post_8.html

Цитата из комментариев:

"Монументальненько...
Хорошо описано, но, боюсь, одной статьи для понимания может быть мало."

Ссылка. Анатолий Вассерман: о будущем, интеллекте и социализме

http://habrahabr.ru/company/mailru/blog/224453/

"— Как, по-Вашему, будет развиваться программирование в ближайшее десятилетие?
Насколько я могу судить по виденным мною статьям и книгам о программировании, магистральное направление сейчас то же, что было магистральным на тот момент, когда моя программистская карьера уже заканчивалась. Это объектно-ориентированное программирование, когда программу собирают из структур, содержащих и данные, и методы их обработки.

Вспоминается официальное сообщение о языке Алгол-68: «всякое действие, описанное в настоящем сообщении, может быть заменено любым иным действием, дающим такой же внешний эффект». Эта фундаментальная концепция, на мой взгляд, ещё довольно долго останется одной из ключевых в программировании. Так же, как до того ключевой была идея структурного программирования, то есть той самой декомпозиции сложной задачи на элементарные компоненты, но только в применении, прежде всего, к методам обработки, а уж затем к структурам данных.

Ну а то, что сейчас появилось множество программных средств, позволяющих представить объекты как графические символы и рисовать взаимосвязи между ними, конечно, удобно, — но это лишь техническая деталь оформления всё той же ключевой идеи. Так что, полагаю, в обозримом будущем вряд ли что-то изменится.
"

"— Анатолий, в своё время вы были программистом. Живо ли ещё это увлечение, пишете ли вы программы сейчас?
Нет, к сожалению, последнюю строчку программного кода я написал ещё летом 1995-го года, а сейчас отношусь к компьютеру исключительно как пользователь. Хотя пользователь продвинутый. То есть мои общие представления о программировании помогают мне лучше представлять себе, какими именно средствами обеспечиваются действия программ, с которыми я работаю, и это иногда позволяет представить себе, как лучше добиться от них того, что мне нужно.
"

"Люблю" я "теоретиков"....

Ссылка. Is TDD Dead. Часть 5

http://sergeyteplyakov.blogspot.ru/2014/06/is-tdd-dead-5.html

"В то время, как в Виларибо спорят жив ли TDD или мертв, в Вилабаджо думают, а стоит ли компилировать код перед коммитом."

:-)

среда, 4 июня 2014 г.

Ни о чём. Сегодня общался с коллегой

Поскольку это всё же блог, а "не учебник", то запишу.

Сегодня общался с коллегой. Скажем так - "передавал опыт".

Прообщались пять часов. Исписал пару десятков листов.

Забыл кстати уже с этими компьютерами - как писать ручкой.

Коллега записал тезисы в блокнот. Пару десятков страниц (если не ошибаюсь) - исписал.

Что сказать?

Устал - жутко...

Даже и не знаю - почему.

Разговор был вдумчивый и благоприятный.

Но программировать пять часов кряду - проще...

:-)

Ну это - "ни о чём"...

Просто - заметки на полях.

P.S. В "курилке" обсуждать работу - кстати - проще. Не обязывает видимо.

Ссылка. [Перевод] Программирование — отстой

http://ruslanbes.com/blog/all/perevod-programmirovanie-otstoy/

Цитата:

"Триллионы долларов зависят от хрупкой паутины негласных соглашений и «пока сойдёт»-кода с комментариями вроде «TODO: ПОЧИНИТЬ ЭТО, ЭТО ДИКО ОПАСНЫЙ КОСТЫЛЬ, НО Я НЕ ЗНАЮ В ЧЁМ ПРОБЛЕМА»"

Где же я видел такие TODO? :-)

И ещё цитата:

"Что за нафиг? — произносите вы вслух, и начинаете искать проблему. Вы обнаруживаете, что когда-то давно какой-то идиот решил, что, так как другой идиот решил, что 1/0 должно равняться бесконечности, то он может использовать это как сокращение для термина «Бесконечность» и упростить свой код."

:-)

И ещё:

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

:-)

вторник, 3 июня 2014 г.

Тестируем калькулятор №6.2.1. Применяем "классическое TDD" (анонс)

Предыдущая серия была тут - http://programmingmindstream.blogspot.ru/2014/06/62.html

Промежуточные итоги я постарался сформулировать вот тут - http://programmingmindstream.blogspot.ru/2014/06/62.html?showComment=1401745726422#c664156170645232329

Теперь мы поговорим о "классическом TDD", а именно - о его части - Test First.

В предыдущих главах мы сделали вот что:

1. Настроили ИНФРАСТРУКТУРУ тестирования.
2. Сделали GUI-тесты.
3. Сделали тесты бизнес-логики.
4. Сделали тесты бизнес-логики с использованием эталонов и ПРОТЕСТИРОВАЛИ (худо-бедно) работу эталонов.
5. Из тестов бизнес-логики и работы с эталонами при помощи псевдослучайных данных мы сделали РЕГРЕССИОННЫЕ тесты.

Теперь давайте попробуем применить "классическое TDD".

понедельник, 2 июня 2014 г.

Тестируем калькулятор № 6.2. Тестирование с использованием псевдослучайных данных

Имея в распоряжении 4 теста для 4 операций мы точно не проверяем "большой разброс" во входных данных. Для того чтобы расширить наше тестовое покрытие мы переходим к нашей новой главе - "Тестированию с использованием псевдослучайных данных". Как следует из названия, нам необходим какой-то случайный набор данных для тестирования. Результаты тестирования при этом будут записываться в выходной файл, так же как мы делали это в прошлой главе. 

Для начала проведем небольшой рефакторинг нашего класса TCalculatorOperationViaEtalonTest