如果坚持使用经典ASP怎么办?[关闭]


14

我曾经在一家非常小的外包公司工作(有4个程序员和老板),然后当压力和频繁的长期轮班使情况变得难以忍受时,我转而以更宽松的日程转向薪水更高的工作,这使我有更多工作要做。空闲时间。

但是,问题在于,大多数情况下,所有内容都在Classic ASP中进行编码,该代码与自定义的C ++排队系统对接,该系统将所有内容存储在AS400系统中。我的老板曾经是为此做出最初努力的开发人员之一,尽管越来越难以用昨天的工具来满足当今的业务需求,但我自然不会批准改用其他语言/技术。

在可预见的将来,我几乎无法使用Classic ASP进行编码,而我一直在努力寻找使它变得至少有趣的方法,因为我以前曾经使用过.NET和Java,而且我觉得我要去向后...有什么建议吗?


13
...变成喝酒的游戏吗?它适用于许多不良电影和电视节目...
FrustratedWithFormsDesigner

4
我认为他会在短期内因酒精中毒而死...
韦恩·莫利纳

4
另一个想法:在TheDailWTF.com上分享您的发现,以便其他人表示同情。
FrustratedWithFormsDesigner

2
我对这一前提感到怀疑。很少有人认为他们“为可预见的未来而死”。除非这是一项监狱工作,否则如果您努力寻找它,那将是一条出路。如果您仍然认为自己“被困”,请想象一下……该公司明天倒闭。您还会被“卡住”吗?如果没有,那你为什么现在“卡住”了?
JoelFan 2012年

1
“所有内容都用Classic ASP编码,并与定制的C ++排队系统对接,该系统将所有内容存储在AS400系统中。” 我将为此做噩梦。
Tjaart

Answers:


27

正如其他人指出的那样,您可能应该尝试改变老板的主意,或者在不需要忍受这种落后思想的情况下找到工作。

但是,与此同时,您可以尝试移动客户端可以使用的所有功能并使用异步调用来触发服务器上发生的事情,从而使您的工作变得更加有趣。可以将其视为HTML / JavaScript前端,在后端具有Web服务(在经典ASP中实现)。开发RESTful API可能是一个有趣的挑战,有一些工具,例如用于Classic ASP的JSON解析器,可以以更标准的方式来回移动数据,而客户端模板可以让您格式化从Web服务获得的数据的格式,以便更好地呈现。LinkedIn 做了类似的事情来统一不同的后端技术。

一旦有了RESTful API,就可以尝试编写一些托管的Web服务来模拟现有Classic ASP内容的功能。


4
+1好答案!使Classic ASP更现代!您可能最终会做一些非常独特和聪明的事情,您将会学到很多东西。我发现我在学习时从未感到无聊。
maple_shaft

@maple_shaft:Trick正在远离足够长的学习时间来完成一些有用的事情=)。
R0MANARMY 2011年

是的,这正是我一直在寻找的答案。在此期间要做的事情。另外,对于建议其他工作的其他人,我知道最终我会找到另一种适合我的兴趣的工作,当敲门时,这并不是一个艰难的选择。
Saul Delgado

11

在开始之前,我不会解决您的老板是否正确坚持经典ASP的问题。您没有给我们足够的信息。如果您在Classic ASP中拥有非常大量的现有代码,并且95%足够好,并且您正在执行小的维护任务,那么坚持使用Classic ASP可能是一个好主意……将所有内容移植到Windows的成本新语言可能太高了。但是,如果您的老板正在使用Classic ASP启动新项目,那没有任何借口。中间有整个范围。因此,我没有足够的信息可以对此加以考虑,因此也不会打扰。

但我确实想解决您的确切问题……如何使编码有趣

有趣编码中的好事吗?记住中国人的诅咒:“你可以生活在有趣的时代吗?” 好吧,可能不是中文...但是问题是,我质疑所有形式的编程是否都应该有趣。有时,您只是希望它简单而直接。我曾经需要清理的最大的代码混乱是由开发人员造成的,他们厌倦了简单,简单的操作方式,并且需要找到一个没人听说过的聪明的语言功能,只是为了激发自己的头脑。我记得找到20行C ++代码,但我的目的我无法破译。事实证明,如果您忘记初始化某些变量,则开发人员可以确保将某些变量初始化为1,这是一种微妙的技巧。这太荒谬了,男孩很有趣。但这浪费了每个人

用“无聊的”语言编写大多数日常代码有很多好处。这意味着您可以动脑子思考应用程序域,而不必试图弄清为什么您刚想出的最新语言功能无法按预期运行。如果您完全了解您的语言及其库,通常可以使工作更快。这意味着您可以利用大脑的循环来进行思考,例如思考使您的应用程序更有趣,更有用,更有利可图或更有用。

为了使您的头脑敏锐,请利用业余时间学习有趣的新语言。从事开源项目或自己的项目。

记住,我并不是在捍卫经典ASP的使用,也不是说使用它是一个好主意,因为它很“无聊”。如果您认为使用“有趣的”开发环境是一种美德,那么给您带来更多的力量……但是您专注于错误的事情。一个好的雕塑家并不需要有趣的凿子……那会妨碍制作漂亮的雕像。一个好的画家并不是在寻找“有趣的”画笔。他们可能会愚弄有趣的工具,但是他们将尽可能使用最无聊的工具来做最好的工作-那些无聊的工具消失了,让艺术家从事艺术工作。


3
我相信这个问题并不是专门针对给定语言的有趣功能,而是更多地遵循“ 我能做什么,以便期待每天上班?”的思路 在这种情况下,您的观点是退出编码并询问如何使该应用程序更有趣,更有用,更有利可图或更有用?在现场。与其说艺术家是用有趣的画笔绘画,不如说是寻找有趣的主题绘画。
R0MANARMY 2011年

您说“更有趣,更有用,更有利可图或更有用”。我想知道有多少人被聘为程序员,可以从事软件的这些方面的工作?我认为只有当您拥有该项目的全部或部分,或者您在一家初创公司工作时,才可以接触到这些内容。我的经验是,大多数决策都是由其他人决定的,主要是管理层或PM。
aceinthehole 2011年

7

你觉得你倒退了,因为你是。除了找到一家陷于黑暗时代的公司,别无其他建议。在当今时代,绝对没有理由使用Classic ASP。实际上,我会直言不讳地说,选择坚持使用Classic ASP 将来会伤害您,因为A)您的.NET和Java技能将萎缩,并且B)对于潜在的未来雇主,您正在从事Classic ASP(一种技术)已经过了十多年,甚至像拔牙一样;换句话说,您没有任何相关经验。看来您选择得不好。

使用Classic ASP只能做很多事情,这非常痛苦。


4
OP指出,至少在可预见的将来,这就是他坚持要做的事情,因此建议他离开并没有帮助。指出您觉得他的处境很糟糕的所有方式,对您的帮助就更小了。10年前大约是2001年,也就是.Net Framework 1.0发行的前一年,因此经典的ASP几乎没有过时。
Gratzy 2011年

2
@Gratzky不,但是那时候还是很糟糕的技术。远不如两个主要替代方案:PHP和JSP
Sean Patrick Floyd

6

学习您选择的现代语言,并使用它来创建一个工具,例如通过从目标数据库进行反向工程来为您生成ASP页和类。这肯定会使它变得有趣。


我想到了T4,但我想任何模板引擎都可以。
R0MANARMY 2011年

1
我已经做了这样的事情。我使用Ruby根据数据库表定义生成存储过程和数据访问类。
拉里·科尔曼

@拉里·科尔曼(Larry Coleman):您的意思与移民
大相径庭

@ R0MANARMY:是的,但是Rails那时还没有。
拉里·科尔曼

5

为什么您会旧技术困住?公司一直在迁移技术。技巧是从技术和业务角度列出为什么使用更新技术对公司有利的原因。迁移技术堆栈的前期成本远远超过未来的开发成本。

即使出于某种晦涩的原因,发现切换技术堆栈并不可行,您仍然可以始终使用当前的工具和技术,使使用旧技术的生活更加舒适。

如果您的老板是该项目的最初开发人员之一,并且基于他是您的老板并且比您了解更多的事实拒绝更改技术,那么我很可能会寻找新工作-您不想被困在领导力短视的环境中。我并不是说说服他/她会很容易,因为我敢肯定,他们已经对婴儿进行了多年的工作,并且承认需要改变是对“自我”的巨大打击。您需要确保你必须清楚简洁可衡量的原因,为什么需要迁移,在那里将几乎把你的老板的情况下 迁移显然是一个错误的决定。

祝好运。


我知道,没有理由坚持使用旧技术,即使我们在这里使用的定制框架也很难使用,甚至不能提供任何商业编程框架的一半收益。我记得在这里的某个地方听过说,它是在内部制作的,这增加了一个模糊层,可以将其视为一种安全措施,但是说实话,我不是在购买。
索尔·德尔加多

2
@ reno812,通过晦涩难懂的安全性根本不是安全性。这就像房子的后门大开,并说您的房屋是安全的,因为那扇门不面向街道。
maple_shaft

我知道不是,只是为了给您和周围的思想观念。
Saul Delgado

3

我也在工作中使用Classic ASP,并且已经设法(在某种程度上)使其变得有趣。步骤如下:

  • 可以使用VBScript或JScript(Javascript)对经典ASP进行编码,而无需对体系结构进行任何修改。切换到Javascript。
  • 可以访问各种库:json2.js,下划线,胡须...您可以查看Node.JS库或客户端库,并进行各种修改。
  • 建立一个MVC框架或下载一个。您可以通过从服务器加载文件并读取其内容来管理模板和视图,并在那里使用众多JS模板库之一。对于控制器,您可以使用查询中的变量以通常使用URL的方式重定向请求(不太干净,但可以使用)。
  • 您还可以构建一个(简化的)REST API!
  • 创建一个ORM(如果您有权访问数据库),或下载一个。您甚至可以基于下划线制作一些LINQ-to-SQL。
  • 处理您的意见。使用高级JS库,例如Angular或Backbone。从CSS转换为LESS,Stylus或SASS。
  • 制作代理到丑陋的代码类。这些类仅是为了与旧的丑陋代码进行交互而制作的,因此您无需触摸它。

2

您可以创建自己的类并简化尽可能多的过程。这是一个包含一些示例的网站:http : //www.u229.no/stuff/

您甚至可以将类推销给仍使用经典ASP的其他人。就像Demian所说的那样,有许多采用较旧技术的公司...并非每个人都跳入新技术。


上一次我上一次不得不使用经典ASP时,令人惊讶的是VBScript开始支持类。
Gratzy 2011年

1

首先,最重要的是,如果不是他花钱来更新您的技术,而是CEO的职位太短,以至于他拒绝基于他最了解的想法而升级Tech,并且喜欢经典的asp,我会对此产生一些严重的怀疑公司的长期健康状况以及具备做经典asp技能的能力会变差,您等待的时间越长,就越难获得另一份工作。

话虽这么说,开始迁移所有内容以使用“ option strict”,这可以减轻维护代码库的痛苦


1

由于数据已经在AS400 / IBMi上,您知道可以在该OS上运行Java,PHP,MySQL接口和其他功能吗?我的猜测是他是400人,而不是ASP人。尝试拥抱这一点,我很希望有机会发展这样的400个生态系统。


0

这里的所有答案都非常好。我只是想提出另一种选择。

开始将基础结构问题(数据库,文件系统,COM代码等)移到单独的文件中。例如,您可能有一个将记录集作为数组返回的过程(我8年前做过,但是没有代码示例-抱歉)。

尝试消除HTML中出现的“代码”,方法是将其移至页面顶部甚至是通用/实用程序类。甚至有可能在单个asp页中包含header / nav / footer函数,其中内容页中的代码相对较少(带有对变量等的少量引用)。

有了内容,表示/格式,业务逻辑和基础结构方面的所有关注点,您就可以一旦克服了该技术的学习难题,便可以切换到ASP.NET MVC。它不会像切换开关那样容易,但是它与使用模块化Classic ASP解决方案的任何人都感觉非常相似(这意味着您的老板可能实际上喜欢它)。


-1

如果坚持使用经典ASP怎么办?

首先,以您的工作为傲(即使它是Classic ASP)。原因:开发不佳(或未打补丁)的经典ASP页面将在您的脖子上甚至更大。您的老板自然会希望您修复所有出现的错误,并且会感到讨厌。只需加载一些好的音乐,戴上耳机,然后尽可能快地进出即可(假设实际上,隧道尽头有灯光,并且您很快就会在做某事)更有意思的)。

其次,在力所能及的范围内,尽力使页面外观和感觉良好。使用CSS发挥魔力。如果可以,请使用Bootstrap。并使用AJAX和其他技术来减少加载时间和全屏刷新。

第三,尽力使用jQuery,jQuery UI和其他客户端库来使页面快速流畅。有时,您可以使用模式,向导甚至SPA消除整个ASP页面!这将减少您必须编写的Classic ASP数量,并使工作更加有趣。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.