18 лет назад 16 октября 2006 в 13:25 1358

XP — экстремальное программирование

Здравствуйте, мои дорогие любители экстремальных видов спорта. Вы думаете, я говорю о сноуборде, бейз-джампинге, скай-серфинге, картинге или, прости, Господи, о ледолазании? Ничего подобного. Я говорю об использовании операционных систем семейства Windows, точнее, о бесконечных с ними экспериментах.

Оставим в покое темное прошлое Windows 98, например, и попробуем определить, что же такое для некоторых пользователей Windows XP? А XP для некоторых — самый что ни на есть экстремальный вид активного отдыха или неотдыха.

В принципе, как-то так удается спортсменам наладить свои отношения с системой, что работа с ней напоминает быструю езду на автомобиле, причем ночью, с выключенными фарами, непристегнутым, пьяным, задним ходом, по встречке, с громадным штампом в водительских правах: «вождение всех видов транспорта запрещено». У человека-катастрофы стоп-сигнал не работает, надеется он на старый добрый русский авось, как когда-то в школе, не пользуясь никакими правилами, надеялся, что у него при решении математической задачи обязательно совпадет ответ с учебником.

Сейчас мы вот эту настроечку изменим, не представляя себе, какие последствия это принесет, и гори оно все синим пламенем. Второй вариант — это когда home user настолько консервативен по жизни, что, привыкнув к кажущимся «понятным девяносто восьмым», перейти на XP просто не может, да хотя бы из простого советского чувства страха, хорошо знакомого тем, кто, например, боится в своей жизни что-то менять. Между прочим, для некоторых переезд с квартиры на квартиру катастрофа вселенского масштаба, а вам смешно. Такие люди называют Windows XP экстремальной системой. Представляется она им продвинутой операционкой из фантастического фильма, причем явно сочиненной инопланетным разумом, не меньше.

Эти мысли навеяло недавно обнаруженное мной удивительное совпадение кое-каких аббревиатур. Дело в том, что большинство пользователей компьютера, привыкнув ассоциировать две буквы X и P с известной экстремальной системой, никогда не сталкивались с идентичной аббревиатурой, сокращением, образованным от строго противоположного «вида» компьютерной деятельности — так называемого экстремального программирования.

Вот насколько рядом не стоят Windows XP и экстремальное программирование (сокращенно XP), настолько же и различается философия идеологов второго и отношение некоторых пользователей к первому. В книге по основам экстремального программирования написано, что процесс этот, то бишь, программирование по данной методе — сродни вождению автомобиля: ведь нельзя задать машине одно направление и просто держаться за руль, необходимо постоянно корректировать ее движение. Так что я не зря привела пример с автомобилем в первом случае. Разница ощущается на раз, несмотря на идентичность аббревиатур.

Что же такое экстремальное программирование и чем, собственно, занимаются экстремальные программисты? На самом деле, это не означает, что таковой программист пишет код на бегу или управляя самолетом, не пишет он его и во сне, не пишет и плавая в джакузи (хотя, Бог его знает, всякое случается). Экстремальный программист, оказывается, ищет себе подобного, еще одного и еще нескольких, пока сообщество это не принимает очертания стаи и по консистенции не напоминает густо сваренный кофе.

Главное для экстремальных программистов одно — создать безупречную и качественную программу, не останавливаясь на второстепенных задачах, причем создать ее в максимально кратчайшие сроки, когда время сдачи проекта заранее задано, определена итерация (законченный цикл разработки, из множества таких циклов и состоит конечный продукт) и поставлены задачи для каждого программиста.

В общем, цель — работать с максимальной эффективностью, четко следуя заранее составленному плану действий, при этом, уверенно искореняя плохой и ненужный код и стремясь к простоте проекта. Это не способ программирования со знанием специального языка, а именно технология программирования, где сначала ставится задача, расписывается по пунктам, а программисты затем выполняют небольшие задачи, в итоге стыкуя их в единое целое, причем в тесном взаимодействии с заказчиком уже на стадии проектирования продукта.

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

В среде программистов до сих пор не утихают споры о том, насколько верен такой подход к разработке кода. Я забыла упомянуть, что «экстремалы» практикуют так называемый парный подход, когда буквально за одним и тем же компьютером работают два человека, таким образом, им удается избежать большинства ошибок при написании кода, которые, как правило, возникают, когда его пишет один человек. Так вот, противники метода утверждают, что творческое начало одного человека не может контролироваться, да хоть бы даже и его напарником.

Якобы, в конце итерации плодом такого дуального творчества может оказаться неликвид, побайтовый хаос, который вряд ли сможет достойно вписаться в мозаику конечного продукта. «Экстремалы» же, напротив, уверены в том, что подобный метод позволяет не пробуксовывать в какой-то момент выполнения проекта и позволяет быстро справляться с задачей, поскольку в процессе осуществляется постоянный контроль одного программиста за другим или наоборот, что упрощает дальнейшую интеграцию компонентов конечного продукта.

Так или иначе, вот вам основы XP: парный метод; рефакторинг (постоянное стремление к упрощению кода, о котором уже говорилось выше); корректировки и дополнения к продукту, пусть даже минимальные (правда, иногда это раздражает заказчиков, не понимающих, зачем выпускать так часто обновленные версии продукта, когда можно поработать над ним подольше и выдать на гора окончательную версию).

Для более четкого понимания вопроса заинтересовавшихся прошу обратить внимание на приведенные ссылки. Пример экстремального программирования — www.xprogramming.ru/Articles/XPEpisode.html.

Практическое руководство по экстремальному программированию — archive.williamspublishing.com/cgi-bin/materials.cgi?isbn=5-8459-0329-7. Статья одного из идеологов экстремального программирования, Кента Бека www.relib.com/articles/article.asp?id=8. Интервью с вышеозначенным господином — www-106.ibm.com/developerworks/java/library/j-beck/
?ca=dgr-lnxw06KentBeck.www.xprogramming.ru/Misc/
WhatsGoingOn.html
  — русскоязычный ресурс, занимающийся продвижением XP в массы. Who is who в мире XP — www.kirillkalishev.com/files/jug13102001/tsld036.htm.

В последнее время лично мне везет на хорошие программы, только успевай раздавать значки. Надеюсь, что вам это только помогает. К моему большому сожалению, мне не удалось связаться с автором представленной в этом выпуске программы, однако я не теряю надежды. Хочу также выразить глубокую признательность моему благосклонному помощнику AUTOBOT, который не перестает радовать уникальными способностями находить интересный софт и тематические ресурсы. Большое ему человеческое спасибо и привет Питеру.

ASONA FTP
http://www.netware.ru/
Автор — Asona

«Программа ASONA FTP позволяет удалять, переименовывать, копировать файлы, создавать и удалять директории на FTP-сервере, работать в режиме командной строки. Среди замечательных особенностей этой программы можно выделить: синхронизацию директорий на локальном и удаленном компьютерах (сравнение директорий для выделения изменившихся и новых файлов), набор опций для контроля работы из командной строки, ручной ввод FTP-команд и т. д. 
Умеет она передавать данные в обе стороны и удалять, как по одному, так и по множеству файлов, включая целые директории с учетом вложенных поддиректорий.

Диалог передачи покажет, сколько процентов файла и в целом задания уже выполнено. Программа может автоматически докачать файл, если передача была по каким-то причинам оборвана в предыдущий раз.
Программа также может периодически повторно пытаться соединиться с FTP сервером в случае безуспешного предыдущего соединения.

Как правило, серверы разрывают автоматически соединение, если пользователь не активен больше определенного времени. В программе можно установить свойство keep connection и в этом случае она будет периодически посылать заданные команды для поддержки соединения. Поддерживает программа и пассивный тип передачи файлов. Иногда директории на сервере скрыты, поэтому вам может пригодиться опция изменения директории на сервере.

Настройки программы дают возможность автоматически определить параметры передачи файлов — ascii или binary, в зависимости от типа файлов и от настроенного списка их расширений. Все команды и операции программы могут протоколироваться в заданном лог-файле.

Программа сама автоматически корректирует ошибки ввода пользователя. В разных программах мы часто сталкиваемся с различиями в форматах ввода и настроек доступа к ftp-серверу.

ASONA FTP — умная и сообразительная программа. Она поймет правильно адрес, даже если вы настроите соединение в любом из перечисленных ниже форматов: ftp.hostname.com; ftp:// ftp.hostname.com; user@ftp.hostname.com/folder и т. д.

Программа поддерживает практически все типы серверов и позволяет произвести специальную настройку формата ответа сервера и принцип чтения списка директорий и файлов на нем. Наиболее часто используемые соединения можно сохранить и использовать в дальнейшем одним кликом мышки. Есть в программе и стандартные функции менеджеров файлов. Вы сможете: изменить вид представления файлов и директорий в виде таблиц или иконок; отсортировать данные по дате, размеру или имени, как на локальном компьютере, так и на сервере.

Функция фильтра позволяет наложить фильтр по произвольной маске для отображения файлов, а функция выделения — выделить по заданной вами маске.
Если вам требуется что-то больше, например, использовать специальные команды, которые вы не нашли в программе, то вы сможете использовать функцию «дополнительные команды», здесь же их можно сохранить для дальнейшего вызова.

Русская версия этого продукта распространяется бесплатно и без банеров! И, наконец, большое впечатление производит объем архивного файла программы — такая мощная программа и такого небольшого размера (444 кб)!»

Автор: Автор — Asona

Никто не прокомментировал материал. Есть мысли?