AXForum  
Вернуться   AXForum > Блоги > OZKA's DAX Journal
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Оценить эту запись

Размышления быдлокодера о высоком(часть 1)

Запись от Lemming размещена 02.01.2010 в 01:01

Интро.

Так уж сложилось, что наиболее существенный опыт разработки я получил именно работая с аксаптой. Фактически на момент старта у меня за плечами был опыт прикладной разработки на бейсикоподобном языке одной малоизвестной учетной системы и самостоятельные ковыряния еще в глубокой молодости Object Pаscal и Borland C++ (обе DOS). Так же были пара проектов на быдлоphp, впрочем и там я старался использовать свои малочисленные теоретические познания о принципах ООП дизайна. Еще немного до начала успел поковырять access и его VB, кстати ИМХО очень полезно для будущих аксаптоводов. Так вот, Х++ фактически стал для меня входом в мир программирования. Читая некоторые посты форума, смею предположить что я не одинок в таком старте карьеры разработчика.


Ностальгия.

Как мы все знаем, будни былокодера на Х++ весьма унылы. Работа представляет собой ковыряние в коде стандартном, и коллег. Надо сказать что код входящий в стандартную поставку просто гениален, после того как доводилось сталкиваться с некоторыми поделками коллег. Наиболее яркий пример отложился при виде "елки" из тернарных операторов на почти целый экран! Впрочем я тоже, особенно по началу, реально отжигал. Кто ж без этого!?! Одним из таких отжигов запомнилось как я получил первую задачу в одной консалтинговой компании. Суть задачи заключалась во внесении многочисленных изменений в отчеты по ОС. Я решил, что бы не было мучительно больно потом, надо минимизировать внесение изменений в стандартный код. Результатом стал огромный магический враппер класс, над классом RAssetReport. В нем и были сосредоточены большинство дополнений к этим отчетам. Сдали и забыли, однако спустя много времени, в эти отчеты понадобилось что-то добавить. Коллега очень серьезно оценил мой паттерн, так как пытаясь в отладке понять откуда растут ноги тех или иных результатов, не сразу догадался что после стандартных классов, вход вступают методы моего магического


Почему аксапта напоминает мне дельфи.

Наверное потому, что это и есть дельфи. Именно поэтому можно встретить в ней формы, под отказ забитые бизнес-логикой во всяких "кликед", "модифай" итп. Думаю определенной части коллег просто фиолетово, а некоторые и не слышали про MVC. Конечно, куда как проще вместо RunBase-а с его скучными методами подлежащими реализации в обязательном порядке, повесить всю логику на событие кнопки - здесь и сейчас. Пользователю все равно не видно, что там внутри, так зачем? Между прочим, среднестатистический проект на дельфях выглядит аналогичным образом. И именно за это многие недолюбливают дельфибыдлокодеров. Впрочем последние, спустя лет десять будут очень много зарабатывать. В нашей стране для этого сложились все условия. Потому что дельфи видимо умер, но осталось куча легаси-кода с которым кто-то должен уметь разобраться. В общем ИМХО, история с коболом повторится и с борландовским продуктом. Впрочем, поживем увидим.


Совершенный код.

Надо сказать что книга эта стала просто открытием. Макконнелл, без сомнения, гений. После чтения его выводов, я начал как-то подругому относится к своему коду. Даже зная что скорее всего никто никогда не посмотрит как там работает та или иная написанная мной функция, я хотя бы ради себя начал писать предельно аккуратно. Просто что бы самому приятно было. Хотя возможно кто-то другой посмотрит и решит что мой код писал криворукий индус. Не знаю, но так или иначе, я начал еще сильнее стараться над читаемостью. Что из этого получилось сложно оценить самостоятельно. Хотя иногда глядя на те или иные куски сам себе мысленно говорю: "ты был крут", ну или "какой же я му......к так все запутать на ровном месте" В общем, коллеги, читайте эту книгу, она прикольная.


Споры про C#.

Прошедший год в данном комьюнити принес не мало споров по переводу аксапты на .NET платформу и в частности язык C#. Когда я предпринял вторую, более результативную попытку постигнуть магию этого языка, я почти влюбился в него. Х++ начал казаться какой-то игрушкой, после тех возможностей которые представляет C# 2008 (.NET 3.5). Да согласен, некоторые вещи, такие как делегаты или обобщения, сходу вызывают затруднение в понимании. Но в конечном счете первые имеют узкую нишу применения, а вторые просто нужно один раз понять. Странно слышать негативные идеи о переводе системы на этот язык даже от тех, кто вроде бы знаком с ним. На мой взгляд, на данный момент это невероятно мощный ЯП среди мультипарадигменных языков. В конце концов, коллеги, нам же не Nemerle или F# предстоит учить В общем, я за.



Х++ как вершина айсберга.

Бытует мнение что аксапта сложна не то что бы языком, а именно стыком всех своих технологий + умением разбираться и изучать стандартную бизнес-логику. Всецело разделяю это мнение, но с другой стороны, а где этого нет? Возьмем к примеру мейнстримовую на данный момент JEE. Вроде большая часть бесплатная и открытая, но если подойти с практической точки зрения, то на самом деле это - тонны кода, огромное кол-во спецификаций, XML-дескрипторы и прочие радости технологий для создания корпоративных приложений. Это в разы сложнее чем то с чем приходится регулярно работать нам, так что коллеги программисты, если есть в этом деле те, кто еще в большем шоколаде, так это 1Сники. Я это к тому, что разработка в аксе это не такой высший пилотаж, каким это казалось во времена появления этой системы в России.


"Сколько вешать в граммах" или сново об ООП.

В целом Х++ ближе всего к Java. Впрочем, если вы вдруг соберетесь учить "язык для кофеварок и телефонов", ну например что бы написать своего робота для Google Wave, вы быстро поймете, что XPP настолько же близок к Java, как классический Basic к C++. А теперь давайте вспомним, сколько каждый из нас за прошедший год создал: интерфейсов, абстрактных классов с хотя бы парой параллельных наследников? Сколько раз мы поставили модификатор private или тем более protected? (кстати, а много ли сходу назовет разницу ). Как часто приходилось наследоваться от существующих классов(RunBase-ы не в счет)?Зато уверен что многие из нас нарисовали немало форм, таблиц и отчетов. Опять же, а обернули ли вы свои формы в FormEngine-ы ? Я все это к тому, что основные сложности не в ЯП, а в специфике нашей отрасли.


А в заключении, поздравляю всех коллег с наступившим новым годом и поменьше нам всем неожиданных exceptions

Продолжение следует...
Размещено в Без категории
Просмотров 40660 Комментарии 0
Всего комментариев 0

Комментарии

 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:20.