Александр Мазуров @mazurov
User
Программа для нарезки хлеба
1 min
3.3KTranslation
Ниже краткое изложение опубликованного ранее поста Почему я ненавижу фреймворки :
В средневековые времена программирования, к данным мы применяли функции. Для того, чтобы нарезать хлеб, брали структуру «хлеб» и передавали ее как параметр функции «нарезать»:
В средневековые времена программирования, к данным мы применяли функции. Для того, чтобы нарезать хлеб, брали структуру «хлеб» и передавали ее как параметр функции «нарезать»:
нарезать(хлеб);
+32
+24
Бизнес-цели vs. User Experience (UX)
3 min
6.5KTranslation
От переводчика: Cуществует множество вариантов перевода на русский язык термина User Experience (UX):
, но не один из них не будет точен.
- удовлетворение потребителей
- практика использования
- общие впечатления пользователя
- …
0
Hudson => Jenkins. Oracle не сдаётся
1 min
6.6KВот и первая жертва корпорации Oracle. Любители continuous integration сервера Hudson недавно наблюдали неприятную историю переезда Hudson c серверов управляемых Oracle'ом. Oracle так просто не сдался. Разработчики признали, что право на название «Hudson» принадлежит Oracle и, чтобы не было проблем в будущем, решили переименовать проект. Предложенное название — Jenkins
+18
50 цитат о программировании всех времён
6 min
161KTranslation
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.
50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook
49. Lisp — это не язык, а строительный материал.
— Alan Kay
48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook
49. Lisp — это не язык, а строительный материал.
— Alan Kay
48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
+328
О ненависти к С++
12 min
63KTranslation
+62
Моя объединенная теория багов
6 min
6.3KTranslation
Этот перевод является продолжением серии статей про тестирование:
На очереди практические советы по построению тестопригодного кода и примеры применения изложенных знаний на реальных проектах.
P. S. Отдельное спасибо taxigy за корректуру русского перевода.
Я думаю, что баги можно разделить на три базовые категории:
- Логические. Логические баги наиболее популярны и часто встречающиеся. Это ваши if'ы, циклы и другая подобная логика в коде. (Мысли: это работает неверно).
- Баги взаимодействия. Баг взаимодействия — когда два разных объекта неправильно взаимодействуют между собой. Например, выход одного объекта является не тем, что ожидает следующий объект в цепочке. (Мысли: данные к месту назначения пришли испорченными).
- Баги отображения. Баг отображения — когда вывод (обычно некоторый пользовательский интерфейс, UI) отображается некорректно. Ключевой момент — в том, что это человек определяет, что есть правильно, а что — нет. (Мысли: это «выглядит» неправильно)
+3
Категории программных тестов
5 min
12KTranslation
Перевод был сделан как ответ на некоторые комментарии к переводу Настройка IDE для автоматического запуска тестов. Прочитав статью и посмотрев наглядные примеры, вы сможете прочувствовать разницу между разнообразными видами тестов, что, в свою очередь, поможет вам грамотно составлять тесты и не перемешивать их в одной куче. Каждый тест хорош в нужном месте и в нужное время!
— mazurov
Вы порой слышите о маленьких/средних/больших/модульных/интеграционных/функциональных/сценарных тестах, но сколько из нас знают что это означает? В данной статье мой взгляд на виды тестов.
— mazurov
Вы порой слышите о маленьких/средних/больших/модульных/интеграционных/функциональных/сценарных тестах, но сколько из нас знают что это означает? В данной статье мой взгляд на виды тестов.
+30
Настройка IDE для автоматического запуска тестов
4 min
8.9KTranslation
Источник
Когда я программирую, то сначала пишу тесты. Частый ручной прогон тестов может превратиться в утомительное занятие.
Опишу обычный сценарий разработки кода:
Ваши тесты «зеленые» и вы приступили к рефакторингу, который на ваш взгляд простой и безопасный. После этого вы запустили тесты и увидели, что что-то сломалось. Но перед этим вы уже сделали десять маленьких изменений и не знаете какое из них поломало программу. Решение заключалось в более частом запуске тестов (после каждого изменения), но вы забывали сделать это.
Когда я программирую, то сначала пишу тесты. Частый ручной прогон тестов может превратиться в утомительное занятие.
Опишу обычный сценарий разработки кода:
Ваши тесты «зеленые» и вы приступили к рефакторингу, который на ваш взгляд простой и безопасный. После этого вы запустили тесты и увидели, что что-то сломалось. Но перед этим вы уже сделали десять маленьких изменений и не знаете какое из них поломало программу. Решение заключалось в более частом запуске тестов (после каждого изменения), но вы забывали сделать это.
+14
Что ожидается в App Engine
2 min
644- Сервис для работы с большими файлами.
- Поддержка работы с входящей почтой
- XMPP API.
- Поддержка функций отображения (mapping) наборов данных (datasets).
- Курсоры для запросов к базе — преодоление лимита в 1000 записей.
- Система предупреждений (alerts) об исключительных ситуациях (exceptions) в пользовательских приложения.
- Дамп и восстановление системы хранения.
+27
Information
- Rating
- Does not participate
- Location
- Meyrin, Genève, Швейцария
- Date of birth
- Registered
- Activity