Як зробити Класичний ASP цікавим, якщо ви його застрягли? [зачинено]


14

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

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

Мені досить сильно застрягло кодування з Класичним ASP в осяжному майбутньому, і я намагаюся знайти способи зробити це принаймні цікавим, як раніше працював з .NET та Java, і мені здається, що я йду назад ... Будь-яка порада?


13
... перетворити його на питущу гру? Він працює для багатьох поганих фільмів і телешоу ...
FrustratedWithFormsDesigner

4
Я думаю, що він би загинув від алкогольного отруєння в короткі терміни ...
Уейн Моліна

4
Ще одна ідея: поділіться своїми висновками на TheDailWTF.com, щоб інші могли висловити свої симпатії.
FrustratedWithFormsDesigner

2
Я сумніваюсь у передумові ... дуже мало людей, які думають, що вони "застрягли в осяжному майбутньому". Якщо це не тюремна робота, є вихід, якщо ви докладете зусиль для її пошуку. Якщо ви все ще думаєте, що ви "застрягли", сфотографуйте це ... компанія завтра припиняє свою діяльність. Ви б все-таки "застрягли"? Якщо ні, то чому ви зараз «застрягли»?
JoelFan

1
"все класифікується в класичному ASP, який взаємодіє із системою черги C ++ на замовлення, яка зберігає все в системах AS400." Я буду мати кошмари з цього приводу.
Тяртарт

Відповіді:


27

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

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

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


4
+1 Відмінна відповідь! Зробіть Classic ASP більш сучасним! Ви можете, нарешті, зробити щось ДУЖЕ унікальне та розумне, і багато чого навчитесь. Я знаходжу, що мені ніколи не нудно, коли я навчаюсь.
maple_shaft

@maple_shaft: Трюк відходить від навчання досить довго, щоб зробити щось корисне =).
R0MANARMY

Так, саме таку відповідь я шукав. Щось робити тим часом. Крім того, для інших хлопців, які пропонують шукати іншу роботу, я знаю, що врешті-решт я знайду іншу роботу, яка відповідає моїм інтересам, і це не буде важким вибором, коли вона стукає у мої двері.
Saul Delgado

11

Перш ніж почати, я не торкнуся питання, чи правильно ваш начальник наполягати на класичному ASP чи ні. Ви не дали нам достатньо інформації. Якщо у класичного ASP у вас дуже великий корпус існуючого коду, який на 95% достатньо хороший, і ви виконуєте невеликі завдання з технічного обслуговування, то, ймовірно, гарна ідея просто дотримуватися Classic ASP ... вартість перенесення всього до нова мова може бути занадто високою. Однак якщо ваш начальник запускає нові проекти в Classic ASP, ну, для цього немає виправдання. А в середині є цілий діапазон. Тому я не маю достатньо інформації, щоб зважити на це, і не буду турбувати.

Але я хочу вирішити ваше чітке питання ... як зробити кодування цікавим .

Є чи цікавохороша річ у кодуванні? Згадайте китайське прокляття: "Чи можете ви жити в цікаві часи?" Що ж, це, мабуть, не китайське ... але справа в тому, що всі форми програмування повинні бути цікавими. Іноді просто хочеться, щоб це було легко і просто. Найбільші помилки коду, які мені коли-небудь доводилося прибирати, були спричинені розробниками, які втомилися від простого простого способу зробити щось, і їм потрібно знайти розумну мову, яку ніхто ще не чув, аби стимулювати власний розум. Я пам’ятаю, що знайшов 20 рядків коду С ++, призначення якого я просто не міг розшифрувати. Виявляється, розробником був якийсь тонкий трюк, щоб гарантувати, що певні змінні ініціалізовані до 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 для вас, наприклад, шляхом зворотного проектування з цільової бази даних. Це, безумовно, зробить це цікавим.


T4 приходить на думку, але я думаю, що будь-який двигун-шаблон зробив би це.
R0MANARMY

1
Я зробив щось подібне. Я використовував Ruby для генерації збережених процедур та класів доступу до даних на основі визначень таблиці баз даних.
Ларрі Коулман

@Larry Coleman: Ви маєте на увазі щось у напрямку міграції
R0MANARMY

@ R0MANARMY: Так, але Рейлів тоді ще не було.
Ларрі Коулман

5

Чому ви коли-небудь зациклювалися на старій технології? Компанії постійно мігрують технології. Хитрість полягає в тому, щоб скласти перелік причин, чому перехід на новішу технологію вигідний компанії - як з технічної, так і з точки зору бізнесу. Більше, ніж ні, авансова вартість міграції технологічних штатів далеко перевищують майбутні витрати на розробку.

Навіть якщо з якоїсь незрозумілої причини було виявлено, що неможливо переключити технічні стеки, ви завжди можете використовувати сучасні інструменти та технології, щоб зробити своє життя за допомогою старих технологій більш терпимим.

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

Удачі.


Я знаю, немає ніяких причин зациклюватися на старих технологіях, навіть виготовлена ​​на замовлення рамка, яку ми тут використовуємо, - це біль для використання, і не пропонує навіть половини переваг будь-якої рамки комерційного програмування. Я пам’ятаю, як десь тут слухали, що той факт, що він був зроблений вдома, додає неясного шару, який можна розглядати як захід безпеки, але якщо чесно, я цього не купую.
Saul Delgado

2
@ reno812, Безпека через неясність взагалі НЕ безпека. Це як якщо б задній проріз вашого будинку був широко відкритий і говорив, що ваш дім захищений, тому що двері не виходять на вулицю.
maple_shaft

Я знаю, що це не так, просто для того, щоб дати вам уявлення про менталітет тут.
Saul Delgado

3

Я працюю з Classic ASP і на роботі, і мені вдалося (певною мірою) зробити це цікавим. Ось такі кроки:

  • Класичний ASP можна кодувати або в VBScript, або в JScript (Javascript), без будь-яких змін архітектури. Перехід на Javascript.
  • Отримайте доступ до різних бібліотек: json2.js, підкреслення, вуса ... Ви можете переглянути бібліотеки Node.JS або бібліотеки на стороні клієнта з різною кількістю модифікацій.
  • Побудуйте рамку MVC або завантажте її. Ви можете керувати шаблонами та переглядами, завантажуючи файл із сервера та читаючи його вміст, а також використовуйте одну з численних бібліотек шаблонів JS там. Для контролера ви можете використовувати змінні в запиті, щоб перенаправляти запити так, як зазвичай ви використовували URL (менш чистий, але він працює).
  • Ви також можете створити (спрощений) REST API!
  • Створіть ORM (якщо у вас є доступ до бази даних) або завантажте його. Ви навіть можете зробити деякі LINQ-SQL на основі підкреслення.
  • Попрацюйте над своїми поглядами. Використовуйте розширені бібліотеки JS, такі як Angular або Backbone. Перехід від CSS до МЕНШИЙ, стилус або SASS.
  • Складіть класи проксі-до некрасивих кодів. Це класи, створені з єдиною метою взаємодії зі старим потворним кодом, тому вам не доведеться його торкатися.

2

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

Ви можете навіть продавати свої класи іншим, хто досі використовує класичний ASP. Як сказав Дем'ян, існує багато компаній зі старими технологіями ... не всі стрибають у нових речах.


Востаннє, коли мені довелося працювати над класичним аспіром, що було досить давно, одним із приємних сюрпризів було те, що VBScript почав підтримувати заняття.
Gratzy

1

Перш за все, якщо оновлення ваших технологій не коштує, а те, що генеральний директор настільки короткий, що він відмовляється модернізувати Технологію на основі ідеї, яку він найкраще знає, і любить класичний асп, у мене виникнуть справжні серйозні сумніви щодо тривалий стан здоров'я компанії та з гнилістю майстерності класичної осики, чим довше ви будете чекати, тим важче буде отримати іншу роботу.

Сказавши це, почніть мігрувати все, щоб використовувати "строгий варіант", це може зробити підтримку бази коду менш болючою


1

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


0

Усі відповіді тут справді дуже хороші. Я просто хотів запропонувати іншу альтернативу.

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

Спробуйте усунути "код", який відображається у вашому HTML, перемістивши його вгору сторінки або навіть у загальному / корисному класі. Можливо навіть функціонування заголовка / навигації / колонтитулу в одній сторінці asp із вмістовими сторінками, які мають в них відносно мало коду (з кількома посиланнями на змінні тощо).

Що стосується вашого вмісту, презентації / форматування, ділової логіки та інфраструктури, то це все ви можете перейти на ASP.NET MVC, коли ви подолаєте криву навчання за допомогою цієї технології. Це не буде так просто, як перевернути перемикач, але він буде відчувати себе дуже схожим на всіх, хто працював з вашим модульованим рішенням Classic ASP (тобто вашому начальнику це може сподобатися).


-1

Як зробити Класичний ASP цікавим, якщо ви його застрягли?

По-перше, пишайтеся своєю роботою (навіть якщо це класичний ASP). Причина: погано розроблена (або виправлена) класична сторінка ASP стане рівномірнішою альбатросом на шиї. Ваш бос, природно, очікує, що ви виправите будь-які помилки, які виникнуть, і він почуватиме себе похмурим. Просто завантажте гарну музику, надіньте навушники і входьте та вийдіть якнайшвидше (якщо припустити, що насправді є світло в кінці тунелю, і що ви скоро працюєте над чимось більш цікавим).

По-друге, наскільки ви можете, зробіть все можливе, щоб сторінки виглядали і були приємні. Робіть свою магію за допомогою CSS. Використовуйте Bootstrap, якщо можете. А також використовуйте AJAX та інші методи для скорочення часу завантаження та оновлення на весь екран.

По-третє, спробуйте скористатися jQuery, користувальницьким інтерфейсом jQuery та іншими клієнтськими бібліотеками, щоб зробити сторінки швидкими та текучими. Іноді, можливо, ви зможете усунути цілі сторінки ASP за допомогою модалів, майстрів або навіть SPA ! Це одночасно зменшить кількість класичного ASP, який вам доведеться написати, і зробить роботу набагато цікавішою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.