вторник, 19 августа 2008 г.

Стиль

Дорогой блог!

Сегодня я немного расскажу тебе о стиле программирования.
Он должен быть единым для всей команды программистов. Тех, кто отказывается подчиняться этому требованию, необходимо убиватьубиватьубивать на месте. Потому что когда один программист что-то пишет не так, как остальные, а потом другой программист на это смотрит, у другого программиста начинает болеть и разрушаться мозг.

Дорогоуважаемые программисты! Пишите все в одном стиле, а то очень сложно поддерживать код.

До скорых встреч!

понедельник, 18 августа 2008 г.

Родословные юз кейсов

Дорогой блог!

Сегодня я расскажу тебе о юз кейсах. Это такие штуки, которые говорят, как можно и нужно использовать что-нибудь. Их можно рисовать и читать, а еще не так давно я узнал, что их можно делать объектами и использовать как объекты.
А если их можно делать объектами, то можно их делать родовыми объектами! И тогда обычный сценарий использования можно настраивать и изменять прямо когда пользователь его использует. Программист может менять поведение своей программы, практически не меняя код, а пользователь каждый раз будет работать по-разному. Как страшно жить!
Дорогой дневник, я вот задумался, я будут ли такие юз кейсы юз кейсами или они уже что-то большее?

Дорогоуважаемые программисты! Пожалуйста бережно обращайтесь со своими юз кейсами!

До скорых встреч!

среда, 13 августа 2008 г.

Перечислимые типы и поля

Дорогой блог!

Сегодня я расскажу тебе о том, как получить сразу все поля перечислимого типа. Чтобы не путать тебя, дневник, я сразу расскажу, какой перечислимый тип у нас будет:
public enum MyEnum
{
Field,
AnotherField,
OneMore
}

Когда я был совсем маленьким и неумным я делал так:
public MyEnum[] GetMyEnumValues()
{
return new MyEnum[] {
MyEnum.Field,
MyEnum.AnotherField,
MyEnum.OneMore
};
}

Но если я или другой программист когда-нибудь добавит поле в перечислимый тип, или наоборот уберет его, или просто изменит его название, все сломается. Поэтому так делать плохо и так делают только плохие программисты. А хорошие программисты всегда делают так:

public IList<MyEnum> MyEnumFields
{
get
{
IList<MyEnum> result = new IList<MyEnum>();
MyEnum values = MyEnum.Field;

foreach(FieldInfo field in typeof(MyEnum).GetFields())
if (field.FieldType.Equals(typeof(MyEnum)))
result.Add((MyEnum)field.GetValue(value));

return result;
}
}

Дорогоуважаемые программисты! Пожалуйста будьте только хорошими и не расстраивайте своих коллег, и аналитиков, и менеджеров. Обращайтесь с типами правильно и изучайте типы.

До скорых встреч!

понедельник, 11 августа 2008 г.

Сервисы

Дорогой блог!

Сегодня я расскажу тебе о службах. Служба -- это такая специальная программа, у которой нет окошка и она работает сама по себе. Еще службы называются Windows Services.
В C#, на котором я пишу программы и сервисы, можно управлять сервисами из других программ. Микрософт говорит, что для этого есть хороший класс ServiceController. Он позволяет запускать службы и останавливать их, а еще отправлять им всякие команды. Для этого есть метод ExecuteCommand, в который можно передать код команды. И сервис должен уметь обрабатывать такие команды, для этого надо написать в нем метод OnCustomCommand. Вот, и все это вместе хорошо и красиво работает.

Дорогоуважаемые программисты! Когда вы будете писать свои сервисы, не забудьте, про все эти замечательные методы и про то, что они требуют разных разрешений. А еще не забудьте, что параметрами метода ExecuteCommand могут быть только целые числа от 128 до 256. А если вы вдруг об этом забудете, то добрый .Net напомнит вам об этом с помощью InvalidOperationException и еще скажет примерно вот так: "Невозможно управлять <...> службой на компьютере '<...>'.".

До скорых встреч!

понедельник, 4 августа 2008 г.

Дорогой блог!

Сегодня я расскажу тебе об одном человеке, он онолитег. Не подумай пожалуйста, что я ошибся, нет-нет. Он сильно отличается от аналитиков, о которых я тебе уже рассказывал.
Во-первых, он отлично знает русский язык и всегда использует много разных слов: вот, как бы, ну, там, понимаешь и другие интересные слова. Я очень люблю слушать, как он говорит. Он сам не говорит, но мне кажется, что у него красный диплом школы Викторов Степанычей. Он скромный и поэтому хороший.
Во-вторых, наш онолитег хорошо знает все о программах, которые есть в его проектах. Иногда он даже лучше программистов и подсказывает им, что они неправильно делают, но никогда не говорит, как надо делать правильно, чтобы программистам было интересно.
Вот какой он хороший онолитег.

Дорогоуважаемые программисты! Если у вас тоже есть такие онолитеги, пожалуйста общайтесь с ними больше. А если у вас вдруг их нет, обязательно попросите своего менеджера нанять хотя бы одного. Общение с онолитегами -- одно удовольствие.

До скорых встреч!