Как сделать классический ASP интересным, если вы застряли с ним? [закрыто]

14

Раньше я работал в действительно небольшой аутсорсинговой компании (4 программиста и начальник), затем, когда стресс и частые длинные смены делали ситуацию невыносимой, я переключился на более высокооплачиваемую работу с более спокойным графиком, который позволяет мне еще больше свободное время.

Проблема, однако, заключается в том, что по большей части все кодируется в Classic ASP, который взаимодействует с пользовательской системой очередей C ++, которая хранит все в системах AS400. Мой начальник раньше был одним из разработчиков, который изначально пытался это сделать, и, естественно, никогда не одобрит переход на другие языки / технологии, несмотря на растущую сложность, связанную с развитием сегодняшних потребностей бизнеса с использованием вчерашних инструментов.

В обозримом будущем я почти застрял в программировании на Classic ASP, и я изо всех сил пытаюсь найти способы сделать его хотя бы интересным, так как раньше я работал с .NET и Java, и я чувствую, что собираюсь задом наперед ... Любой совет?

Сол Дельгадо
источник
13
... превратить это в пьющую игру? Это работает для многих плохих фильмов и телешоу ...
FrustratedWithFormsDesigner
4
Я думаю, что он был бы мертв от алкогольного отравления в короткие сроки ...
Уэйн Молина
4
Еще одна идея: поделиться своими выводами на TheDailWTF.com, чтобы другие могли выразить свои симпатии.
FrustratedWithFormsDesigner
2
Я подвергаю сомнению предпосылку ... очень немногие люди, которые думают, что они "застряли в обозримом будущем", действительно. Если это не тюремная работа, есть выход, если вы приложите усилия, чтобы найти ее. Если вы все еще думаете, что «застряли», представьте себе ... компания завтра выходит из бизнеса. Вы все еще были бы "застряли"? Если нет, то почему вы "застряли" сейчас?
JoelFan
1
«Все написано в Classic ASP, который взаимодействует с пользовательской системой очередей C ++, которая хранит все в системах AS400». У меня будут кошмары об этом.
Тьяарт

Ответы:

27

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

Однако , в то же время, вы можете сделать свою работу более интересной, пытаясь переместить любую функциональность, которую вы можете на стороне клиента, и использовать асинхронные вызовы для запуска чего-либо на сервере. Думайте об этом как о клиентской части HTML / JavaScript с веб-сервисами (реализованными в классическом ASP) на серверной части. Разработка RESTful API может быть интересной задачей, есть некоторые инструменты, такие как парсеры JSON для Classic ASP, для перемещения данных назад и вперед более стандартным способом, а шаблоны на стороне клиента позволят вам форматировать данные, которые вы получаете от своих веб-сервисов, для лучшего представления. LinkedIn сделал что-то похожее, чтобы объединить различные серверные технологии.

Получив API-интерфейс RESTful, вы можете попытаться написать некоторые управляемые веб-службы для эмуляции функциональности существующих классических ASP-компонентов.

R0MANARMY
источник
4
+1 Отличный ответ! Сделайте Classic ASP более современным! Вы можете сделать что-то ОЧЕНЬ уникальное и умное, и вы многому научитесь. Я нахожу, что мне никогда не скучно, когда я учусь.
maple_shaft
@maple_shaft: Трюк уходит от обучения достаточно долго, чтобы сделать что-то полезное =).
R0MANARMY
Да, это именно тот ответ, который я искал. Чем заняться в то же время. Кроме того, для других парней, предлагающих поискать другую работу, я знаю, что в конце концов я найду другую работу, которая отвечает моим интересам, и это не будет трудным выбором, когда она постучится в мою дверь.
Сол Дельгадо
11

Прежде чем я начну, я не буду решать вопрос о том, прав ли ваш начальник настаивать на классическом ASP. Вы не дали нам достаточно информации. Если у вас есть очень большой объем существующего кода в Classic ASP, который на 95% достаточно хорош, и вы выполняете небольшие задачи по обслуживанию, то, вероятно, хорошей идеей будет просто придерживаться Classic ASP ... стоимость переноса всего на новый язык может быть слишком высоким. Однако, если ваш начальник запускает новые проекты в Classic ASP, ну, этому нет оправдания. И есть целый ряд в середине. Так что у меня нет достаточно информации, чтобы оценить это, и я не буду беспокоиться.

Но я хочу ответить на ваш точный вопрос ... как сделать кодирование интересным .

Является ли интереснохорошая вещь в кодировании? Помните китайское проклятие: «Можете ли вы жить в интересные времена?» Ну, это, вероятно, не китайский ... но дело в том, я задаюсь вопросом, должны ли все формы программирования быть интересными. Иногда вы просто хотите, чтобы это было легко и просто. Самые большие ошибки кода, которые мне когда-либо приходилось устранять, были вызваны разработчиками, которые устали от простого и простого способа что-то сделать и им нужно найти умную языковую функцию, которую никто никогда не слышал, просто чтобы стимулировать их собственный ум. Я помню, как нашел 20 строк кода на C ++, цель которого я просто не мог расшифровать. Оказывается, разработчик решил, что некоторые переменные были инициализированы в 1, если вы забыли их инициализировать. Это было смешно, и мальчику было интересно. Но все потратили впустую

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

Чтобы не отвлекаться, используйте свободное время для изучения новых интересных языков. Работайте над проектами с открытым исходным кодом или работайте над своими собственными проектами.

Помните, я не защищаю использование Classic ASP, и я не говорю, что это хорошая идея, потому что это "скучно". Если вы считаете целесообразным использовать «интересную» среду разработки, больше возможностей для вас ... но вы сосредотачиваетесь не на том. Хороший скульптор не хочет интересного долота ... которое мешало бы создавать красивые статуи. Хороший художник не ищет "интересных" кистей. Они могут дурачиться с интересными инструментами, но они сделают все возможное, используя самые скучные инструменты - настолько скучные инструменты, что они исчезают и позволяют художнику работать над искусством.

Джоэл Спольски
источник
3
Я полагаю, что вопрос не был направлен конкретно на интересные особенности данного языка, а скорее на тему « Что я могу сделать, чтобы с нетерпением ждать прихода на работу каждый день?» В этом контексте вы хотите сделать шаг назад от написания кода и спросить, как я могу сделать это приложение более интересным, более полезным, более прибыльным или более полезным? на месте. Это не столько художник, который использует интересные кисти для рисования, но скорее поиск интересных предметов для рисования.
R0MANARMY
Вы сказали: «интереснее, полезнее, выгоднее или полезнее». Интересно, сколько людей, работающих программистами, работают над этими аспектами программного обеспечения? Я думаю, что только если вы владеете всем или частью проекта, или вы работали при запуске, вы можете затронуть их. Мой опыт показывает, что большинство решений оставлено на усмотрение других, в основном руководству или руководителям.
aceinthehole
7

Вы чувствуете, что идете назад, потому что вы есть . Нет другого совета, кроме как найти компанию, которая не застрянет в темных веках. Нет абсолютно никаких причин придерживаться Classic ASP в наши дни; на самом деле, я прямо скажу, что выбор в пользу Classic ASP навредит вам в будущем, поскольку A) ваши навыки .NET и Java ослабнут, и B) потенциальному будущему работодателю, вы работаете над Classic ASP, технологией это устарело уже более 10 лет, и даже тогда было похоже на вырывание зубов; другими словами, у вас нет соответствующего опыта. Вы выбрали плохо, кажется.

Вы можете делать так много только с Classic ASP, и все это очень больно.

Уэйн Молина
источник
4
ОП указывает, что это то, что он застрял, делая, по крайней мере, в обозримом будущем, поэтому предложение уйти не поможет. Указывать на то, как вы чувствуете, что его ситуация ужасна, еще менее полезно. 10 лет назад было бы в 2001 году, примерно за год до того, как был выпущен .Net framework 1.0, поэтому классический asp едва ли устарел.
Gratzy
2
@Gratzky нет, но это была ужасная технология даже тогда. Значительно уступает двум основным альтернативам: PHP и JSP
Шон Патрик Флойд
6

Изучите современный язык по вашему выбору и используйте его для создания инструмента, который генерирует ваши ASP-страницы и классы для вас, например, путем обратного инжиниринга из целевой базы данных. Это, безусловно, сделает это интересным.

Marcelo
источник
Т4 приходит на ум, но, думаю, подойдет любой шаблонизатор.
R0MANARMY
1
Я сделал что-то вроде этого. Я использовал Ruby для генерации хранимых процедур и классов доступа к данным на основе определений таблиц базы данных.
Ларри Коулман
@ Ларри Коулман: Вы имеете в виду что-то вроде миграций
R0MANARMY
@ R0MANARMY: Да, но Rails тогда не было.
Ларри Коулман
5

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

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

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

Удачи.

Демиан Брехт
источник
Я знаю, что нет смысла зацикливаться на старых технологиях, даже нестандартный фреймворк, который мы здесь используем, очень неудобен и не дает даже половины преимуществ любого коммерческого фреймворка. Я помню, что где-то здесь слышал, что тот факт, что это было сделано внутри компании, добавляет слой мрака, который можно рассматривать как меру безопасности, но, честно говоря, я этого не покупаю.
Сол Дельгадо
2
@ reno812, безопасность через неизвестность - это вовсе не безопасность. Это похоже на то, что задняя дверь вашего дома широко открыта и говорит, что ваш дом в безопасности, потому что эта дверь не выходит на улицу.
maple_shaft
Я знаю, что нет, просто чтобы дать вам и представление о менталитете здесь.
Сол Дельгадо
3

Я тоже работаю с Classic ASP на работе, и мне удалось (до некоторой степени) сделать его интересным. Вот шаги:

  • Классический ASP может быть закодирован в VBScript или JScript (Javascript), без каких-либо изменений в архитектуре. Переключиться на Javascript.
  • Получите доступ к различным библиотекам: json2.js, подчеркивание, усы ... Вы можете взглянуть на библиотеки Node.JS или клиентские библиотеки с различным количеством модификаций.
  • Создайте фреймворк MVC или загрузите его. Вы можете управлять шаблонами и представлениями, загружая файл с сервера и читая его содержимое, а также используя одну из многочисленных библиотек шаблонов JS. Для контроллера вы можете использовать переменные в запросе для перенаправления запросов так же, как вы обычно используете URL (менее чистый, но он работает).
  • Вы также можете создать (упрощенный) REST API!
  • Создайте ORM (если у вас есть доступ к базе данных) или загрузите его. Вы даже можете сделать некоторые LINQ-to-SQL на основе подчеркивания.
  • Работайте над своими взглядами. Используйте расширенные библиотеки JS, такие как Angular или Backbone. Swtich от CSS до LESS, Stylus или SASS.
  • Сделайте классы прокси-к-уродливому коду. Это классы, созданные с единственной целью взаимодействия со старым уродливым кодом, так что вам не нужно его трогать.
DistantEcho
источник
2

Вы можете создавать свои собственные классы и оптимизировать как можно больше процессов. Вот сайт с несколькими примерами: http://www.u229.no/stuff/

Вы могли бы даже продать свои классы другим, которые все еще используют классический ASP. Как сказал Демьян, есть много компаний с более старыми технологиями ... не все прыгают в новые вещи.

Майкл Райли - AKA Gunny
источник
В последний раз, когда мне приходилось работать над классическим asp, что было довольно давно, одним из приятных сюрпризов стало то, что VBScript начал поддерживать классы.
Gratzy
1

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

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

Боб Дворник
источник
1

Поскольку данные уже находятся на AS400 / IBMi, вы знаете, что в этой ОС вы можете запускать интерфейсы Java, PHP, MySQL и другие? Я предполагаю, что он парень 400, а не парень ASP. Попытайтесь принять это, я хотел бы иметь возможность вырастить 400 экосистем, как это.

Jé Queue
источник
0

Все ответы здесь действительно очень хороши. Я просто хотел предложить другую альтернативу.

Начните переносить проблемы инфраструктуры (база данных, файловая система, код COM и т. Д.) В отдельные файлы. Например, у вас может быть процедура, которая возвращает набор записей в виде массива (я сделал это 8 лет назад, но без примера кода - извините).

Попробуйте уничтожить «код», появляющийся в вашем HTML, переместив его в верхнюю часть страницы или даже в общий / служебный класс. Можно даже иметь функции header / nav / footer на одной странице asp со страницами контента, в которых содержится относительно мало кода (с несколькими ссылками на переменные и тому подобное).

Когда ваш контент, презентация / форматирование, бизнес-логика и инфраструктура полностью отделены друг от друга, вы теперь можете перейти на ASP.NET MVC, как только преодолеете кривую обучения с помощью этой технологии. Это будет не так просто, как щелкнуть переключателем, но он будет очень похож на любого, кто работал с вашим модульным решением Classic ASP (то есть вашему боссу это может понравиться).

майонез
источник
-1

Как сделать классический ASP интересным, если вы застряли с ним?

Во-первых, гордитесь своей работой (хотя это классический ASP). Причина: плохо развитая (или исправленная) классическая страница ASP будет еще БОЛЬШИМ альбатросом на шее. Ваш босс, естественно, будет ожидать, что вы исправите все возникшие ошибки, и это будет неприятно. Просто загрузите хорошую музыку, наденьте наушники и входите и выходите так быстро, как только можете (при условии, что в конце туннеля действительно есть свет, и что вы скоро будете над чем-то работать) интереснее).

Во-вторых, постарайтесь, чтобы страницы выглядели и чувствовали себя хорошо. Работай с волшебством с помощью CSS. Используйте Bootstrap, если можете. И используйте AJAX и другие методы, чтобы сократить время загрузки и обновления на весь экран.

В-третьих, постарайтесь использовать jQuery, jQuery UI и другие клиентские библиотеки, чтобы сделать страницы быстрыми и плавными. Иногда вы можете удалить целые страницы ASP с помощью модалов, мастеров или даже SPA ! Это уменьшит объем классического ASP, который вам придется написать, и сделает работу намного интереснее.

Джим Г.
источник