О целях юнит-тестирования.
Задачка для страшеклассников
Маленькая и совсем несложная задачка.
Есть две переменные a и b. Поменять местами их значения, не вводя третью переменную.Решение:
a = a+b
b = a - b
a = a - b
Еще одна интересная задачка
Нравятся мне эти задачки, несложные, но хитрые :) Вот еще одна.
Дано целое натуральное число. Без использования циклов и рекурсии поменять значение самого крайнего правого бита, равного 0, на 1.
Например, 0101 -> 0111; 1010 ->1011
Решение:value | (value+1)
Очень сложная задачка
Не так давно знакомый программист, проходивший собеседование в девелоперской конторе, поделился задачкой, которую получил на собеседовании:
Есть массив из N элементов, в котором находятся значения от 1 до N+1. Одно значение пропущено. Нужно его определить за линейное время. Массив не сортирован.
Вот такая хитрая задачка с ооочень тривиальным решением :)
IoC, DI, WTF?
IoC (Inversion of Control) - инверсия управления, один из принципов S.O.L.I.D., известна так же как Принцип обращения зависимостей (Dependency Inversion Principle, DIP). IoC - очень полезная техника, которая уменьшает связанность и придает гибкость разрабатываемому ПО. Принцип инверсии управления звучит так [wikipedia]:
Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.В своей статье Inversion of Control Containers and the Dependency Injection pattern Мартин Фаулер вводит понятие Dependency Injection (Dependency Injection) - внедрение зависимости - как разновидность IoC. Всего он выделяет три типа DI в зависимости от того, через что осуществляется DI:
1) Interface injection
2) Setter injection (пример)
3) Constructor injection (пример)
UML редактор
Наткнулась на SourceForge на милый UML-редактор NClass с элементами интерфейса, такими родными и привычными для меня как пользователя Visual Studio.
Простой и интуитивно понятный интерфейс. Поддерживает два типа диаграмм - java, c#, кодогенерацию, экспорт диаграммы в PDF, сохранение в разных графических форматах (png, jpg, etc...). Что еще сказать? Программа бесплатна, написана C#. Из минусов - нет Ctrl+Z, Ctrl+C, Ctrl+V :( Надеюсь, в следующих релизах появится поддержка этих поистине горячих сочетаний клавиш :)
Ярлыки
Копирайты
Блог о жизни вне кода
Постоянные читатели
Популярно
-
Два месяца прошло с момента публикации моего первого Android приложения на Play market, я перебралась на Самуи , а гугл по-тихоньку начал...
-
Продолжаю серию постов о своём первом андроид-приложении. Сегодня мысли о публикации приложения в разных маркетах.
-
Продолжаю серию заметок о разработке первого android-приложения. На этот раз речь о выборе стратегии монетизации приложения.
-
Разделяй и влавствуй - подход на все времена. Концепция модульного программирования не нова, и хорошо себя зарекомендовала. В мире разрабо...
-
Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. ( скачать ) В предлагаемой книге описываютс...
-
Понравился анекдот о колбасе и яйцах :) Жена посылает мужа-программиста в магазин: - Дорогой, купи, пожалуйста, палку колбасы, и если б...
-
Microsoft Enterprise Library – это набор блоков приложений многоразового использования, созданных как решения проблем, с...
-
Давайте разберемся с этими загадочными абревиатурами и разницей между ними. IoC (Inversion of Control) - инверсия управления, один из прин...
-
Недавно прочла интересную заметку об уязвимости веб-браузеров. Особенно порадовали новости об IE8. Компания Cenzic, которая проводит исследо...
