Отправляет email-рассылки с помощью сервиса Sendsay

Мастер программист

  Все выпуски  

Мастер программист Статья 8. ХР и с чем его едят


Статья 8.

ХР и с чем его едят

 

Алгоритмы: Сортировка вставками

Сортировка вставками удобная для сортировки коротких последовательностей. Именно таким способом сортируют карты, вставляя новую сравнивая уже имеющиеся.

Запишем этот алгоритм в виде процедуры InsertionSort, параметром которой является массив A[1..n]

Мы обозначим число элементов в массиве А через length[A]

Последовательность сортируется "на месте", без дополнительной памяти. Помимо массива мы используем лишь фиксированное число ячеек памяти.
После выполнения процедуры InsertionStor массив А упорядочен по возрастанию.

InsertionSort(A)
1 for j := 2 to length[A] do
2     key := A[j]
3     //Добавить A[j] к отсортированной части А[1..j-1]
4     i := j - 1
5     while i > 0 and A[i] > key do
6          A[i + 1] := A[i]
7          i := i - 1
8    A[i + 1] := key

 



XP - Extremal Programing - новое направление в методике разработки программ. Оно использует те же методики, но доведенные до своего максимума.
Если хорошо - тестировать программу, то это надо сделать основой разработки и тестировать каждый аспект.
Если хорошо - просматривать код программы для выявления проблем, то надо программировать в паре и сделать просмотр кода постоянным.
Если хорошо - улучшать качество кода, то надо сделать это для каждого участка и функции, применяя рефакторинг и улучшение архитектуры постоянно.
Если хорошо - инкрементальная разработка, то надо постоянно играть в планирование.

И, хотя ХР - это командная методика, но все же применение ее одним человеком также позволит улучшить качество разработки.

Так TDD (Test Driven Development) - разработка, основанная на тестах улучшает стабильность кода и качество интерфейса системы. Также позволяет знать, что код ведет себя так, как нужно.
Refactoring - улучшение кода без изменения семантики приводит к обеспечению более легкого дополнения и изменения
Совместно они позволяют проводить улучшения и быть уверенным в том, что код ведет себя правильно после каждого изменения.

Хорошо еще вести код в CVS (Concurent Version System) или другой системе контроля версий кода. Таким образом, можно "откатить" любые изменения до предыдущих работающих версий.

Игра в планирование - это определение того, что можно сделать в следующие 7 дней. Это помогает чётче видеть результат.

ХР приводит к инкрементальному внедрению, поэтому архитектура системы должна позволять это. Таким образом ХР позволяет внедрять код пошагово каждую неделю-две.
В общем от этой методики остаются лишь положительные впечатления.
Единственная трудность - надо постоянно применять её методики, а этому нужно учиться.

По собственному опыту убедился, что разработка идет быстрее, а код получается чище и читабельнее.

В избранное