
August 4th, 2008 by

Konstantin Bychenkov
Я перешел на работу в другую фирму. Делаю примерно то же самое - управляю проектами. Проекты достались в довольно плачевном состоянии. Одна из первых задач - наладить взаимодействие с отделом тестирования. Без номеров билдов они разговаривать не хотят, и тут они абсолютно правы. Пришлось сделать макрос для VS2008, со мной это впервые.
В общем то получилось довольно быстро. Для начала я взял проект макроса из статьи “Build Number Automation for Visual Studio .NET Projects” на CodeProject.
И сделал небольшие изменения под себя:
- Мой макрос меняет версию всем проектам из открытого солюшна
- Изменения версии попадают в лог файл. Лог файл имеет то же имя что и солюшн, но с расширением”log”
Инструкция по установке:
- Загружаем каталога проекта из SVN, появится подкаталог macro
- Открываем VS2008.
- Открываем MacroExplorer из меню Tools->Macros->Macro Explorer или просто Alt+F8
- В Macro Explorer в контекстном меню выбираем пункт Load Macro Project и выбираем проект MacroVer.vsmacros из каталога macro
- Создаем пункт главного меню. Для этого открываем диалог Tools->Customise->Commands. Из элемента списка Categories выбираем Macros. Из списка commands выбираем наш только что установленный макрос и перетаскиваем его в главное меню, желательно Build
- С помощью кнопки Rearrange Command задаем удобное имя нового пункта меню. Например, “Increment version before build”
Установку проводить только 1 раз. Макрос будет доступен для любых C#-проектов. Данный макрос пока не умеет находить и править файлы с иным расширением нежели .cs
Инструкция по применению:
- В открытом солюшене до сборки релиза выбираем пункт меню с макросом.
- В результате работы макроса изменятся файлы AssemblyVersion.cs, значения атрибутов AssemblyVersion и AssemblyFileVersion.
- После билда релиза все файлы-сборки увеличат последние два числа версии revision.build
Кто подскажет как поставить макрос на пребилд солюшена?
Повторю слова автора исходного проекта макроса: I kept it simple, so you can get the idea and do customizations yourself.
Пользуйтесь наздоровье macrover.vsmacros.
Posted in Proj management |
No Comments »

July 2nd, 2008 by

Konstantin Bychenkov
Путь профессионала труден и извилист. Как часто мы потом говорим себе, что если бы несколько лет назад кто нибудь подсказал и было бы время, как далеко вперед я бы сейчас ушел. Но никто не подсказал. Чтобы стать Люком Скайвокером нужно сначала встретить своего Обивана Кэноби.
К счастью, есть Сеть. К счастью, выдающиеся люди обычно хотят помочь новичкам. Они прошли долгий путь и многое понимают. Посмотрите на блог CodeCata Дэйва Томаса. Дэйв, в частности, помогал в создании знаменитого Agile Manifesto. Еще он автор нескольких замечательных книг.
Дэйв занимается карате, и он предлагает перенести методики тренировок из боевых исскуств в программирование. Нет, кирпичи лбом колоть не надо. Дэйв изобрел 21 (и наверное на этой цифре не остановится) упражнение, “ката”, которые годятся для исполнения практически на любом языке программирования и дают одновременно полезные теоретические и практические навыки.
Суть метода проста. Двигайтесь от простого к сложному, повторение - мать учения, не бойтесь ошибиться, сосредоточьтесь.
Польза от упражнений может быть огромна. Во первых - упражнения ценны сами по себе. Выполняя их, вы зарабатываете навыки мышления программиста. Учитесь беспокоиться о качестве вашей работы, приобретаете понимание того что, что хорошая программа - это не просто программа которая возвращает правильный результат. Во вторых - упражнения можно использовать для изучения почти любого нового для вас языка программирования. В третьих - каты достаточно полны для того чтоб отрабатывать на них различные методы организации производства. FDD, TDD, XP и даже RUP ( если вы достаточно упорны )
Мы с моим приятелем Дмитрием Кандаловым выполнили Cata6 в стиле XP и получили громадное удовольствие от работы. Попутно с решением задачи мы потренировались в написании юнит-тестов, в оформлении кода. Дима подучил а я повспоминал .NET.
Попробуйте и вы. Понравится.
Posted in Software Development Metodologies |
1 Comment »

June 3rd, 2008 by

Konstantin Bychenkov
Мне понадобилось вспомнить уже подзабытые навыки программирования СОМ компонент. Надо было сделать Shell Extension - добавить пункт контекстного меню. Смотрел всяческие примеры и набрел в интернете на клад - shell: revealed Это блог комманды “Windows Client” разработчиков компании Microsoft. Там море полезной информации о ядре пользовательского интерфейса Windows, особенно Windows Vista. Слово “ядро” в данном контексте означает API и базовые концепции пользовательского интерфейса.
Мне конечно больше всего были интересны примеры. Это лучшие и наиболее современные примеры из всего, что я смог найти. Для того чтоб ознакомиться с ними вам понадобится VS 2005 и Windows Vista SDK. Впечатления такие:
- Эти парни не используют ничего кроме C++. Нет ATL, нет reg или rgs файлов. MIDL нет. ATL хорошая библиотека, но примеры этих парней ставят вопрос - “На что потратить время - на COM и WinAPI или на ATL?” У меня нет однозначного ответа. Но проект получается намного проще, это точно. Пожалуй, если вы реализуете уже задекларированные где то интерфейсы, то можно и на pure С++. Если пишете собственный COM-сервер с оригинальной функциональностью, то тут надо вспомнить про ATL. Так же с ATL проще обеспечить переносимость сервера под разные версии Windows.
- СОМ не так уж страшен, если вы знаете C++ и WinAPI.
- Еще раз скажем себе -исходный код надо писать аккуратно и продуманно. Стиль имеет значение, в C++ особенно.
Posted in Win32 Development |
No Comments »

May 17th, 2008 by

Konstantin Bychenkov
Эта штука мне нравится за внешнюю элегантность. Как же долго я искал там, в каком месте настроек текстового редактора задать подсветку для упоминаний в коде имени текущей переменной.
Не прошло и полгода!
Preferences->General->Editors->Text Editors-> Annotations->Occurences
Это я так, чтоб не забыть.
PS: пора продолжить про Agile. Теперь про SCRUM
Posted in Java reveal |
No Comments »

May 16th, 2008 by

Konstantin Bychenkov
Как мне кстати новый сервис Google - Google Doctype.
Это энциклопедия и библиотека ссылок по веб-программированию. Дебри MSDN расступаются как по волшебству. Всегда уделяется внимание совместимости IE-FF-Saf. Разработчики могут развивать этот сервис и писать новые статьи.
Как минимум, этот сервис избавляет вас от надобности держать тучу букмарков на MSDN. Для новичков - клад знаний.
Posted in webdev |
No Comments »

May 3rd, 2008 by

Konstantin Bychenkov
После того как я опубликовал первую статью по Agile, на Habrahabr пришло несколько комментариев с вопросами о том как оценить стоимость и сроки проекта в данной методике. Agile - методология управления проектами, он не предназначен для оценки, которую потом можно вписать в договор. Но тема важная, сделаем для нее отступление.
Итак, Методы оценки проекта разработки ПО…
Read the rest of this entry »
Posted in Software Development Metodologies, Стоимость разработки |
No Comments »

April 17th, 2008 by

Konstantin Bychenkov
Создание программных продуктов стало индустрией с тех пор как появились персональные компьютеры, «коробочное» ПО и Internet. Как и в любой другой индустрии тут существует продукт, потребители и производители этого продукта. И, как и в любой другой индустрии, производители стремятся держать под контролем процесс создания (производства) продукта. Конечно, это не единственный процесс, который надо наладить для достижения успеха, но один из основных. И для этого важного процесса нужен метод, который позволит управлять ситуацией, не сковывая творческий порыв разработчиков. О методе и пойдет речь. Мы рассмотрим хорошо известную методологию Agile, и сравним наиболее популярные варианты применения данного метода на практике. Read the rest of this entry »
Posted in Software Development Metodologies |
No Comments »

April 17th, 2008 by

Konstantin Bychenkov
Открываю цикл коротких статей по Agile. Все вместе они будут представлять собой сравнительный обзор различных методик, которые применяются под общим названием Agile Development Framework - стандарт де-факто для организации процесса производства программных продуктов. Среди них будут такие темы как SCRUM, TDD, BDD, FDD. Мы рассмотрим и сравним эти методики.
Я хотел написать одну большую статью сразу обо всем, но понял, что не закончу такой текст в обозримом будущем. А после данного анонсирования я не оставляю себе выхода
Съедим “слона” по частям. И начнем с краткого введения непосредственно в Agile.
Posted in Software Development Metodologies |
1 Comment »