Làm thế nào để làm cho Classic ASP thú vị nếu bạn bị mắc kẹt với nó? [đóng cửa]


14

Tôi đã từng làm việc cho một công ty gia công thực sự nhỏ (4 lập trình viên và sếp), sau đó khi căng thẳng và thay đổi thường xuyên khiến tình hình không thể chịu đựng được, tôi đã chuyển sang một công việc được trả lương cao hơn với một lịch trình thoải mái hơn cho phép tôi thêm thời gian rảnh.

Tuy nhiên, vấn đề là phần lớn, mọi thứ đều được mã hóa trong Classic ASP có giao diện với hệ thống xếp hàng C ++ tùy chỉnh, lưu trữ mọi thứ trong các hệ thống AS400. Sếp của tôi từng là một trong những nhà phát triển đã nỗ lực ban đầu về điều này và đương nhiên sẽ không bao giờ chấp nhận chuyển đổi sang ngôn ngữ / công nghệ khác mặc dù khó khăn ngày càng tăng thể hiện nhu cầu kinh doanh ngày nay với các công cụ ngày hôm qua.

Tôi gặp khá nhiều khó khăn khi viết mã với Classic ASP trong tương lai gần và tôi đang loay hoay tìm cách làm cho nó ít nhất là thú vị, như tôi đã từng làm việc với .NET và Java trước đây và tôi cảm thấy như mình đang đi ngược ... Có lời khuyên nào không?


13
... Biến nó thành một trò chơi uống rượu? Nó hoạt động cho nhiều bộ phim và chương trình truyền hình tồi ...
Thất vọngWithFormsDesigner

4
Tôi nghĩ rằng anh ta sẽ chết vì ngộ độc rượu trong thời gian ngắn ...
Wayne Molina

4
Một ý tưởng khác: chia sẻ những phát hiện của bạn trên TheDailWTF.com để những người khác có thể đưa ra sự đồng cảm của họ.
Thất vọngWithFormsDesigner

2
Tôi đặt câu hỏi về tiền đề ... rất ít người nghĩ rằng họ "bị mắc kẹt vì tương lai gần" thực sự là như vậy. Trừ khi đây là một công việc nhà tù, sẽ có một lối thoát nếu bạn nỗ lực tìm kiếm nó. Nếu bạn vẫn nghĩ rằng mình đang "mắc kẹt", hãy hình dung điều này ... công ty sẽ ngừng hoạt động vào ngày mai. Bạn vẫn sẽ bị "mắc kẹt" chứ? Nếu không thì tại sao bây giờ bạn lại "mắc kẹt"?
JoelFan

1
"mọi thứ đều được mã hóa trong Classic ASP có giao diện với hệ thống xếp hàng C ++ tùy chỉnh, lưu trữ mọi thứ trong các hệ thống AS400." Tôi sẽ gặp ác mộng về điều này.
Tjaart

Câu trả lời:


27

Như những người khác đã chỉ ra, có lẽ bạn nên cố gắng thay đổi suy nghĩ của sếp hoặc tìm việc làm ở nơi bạn không phải chịu đựng tâm lý lạc hậu như vậy.

Tuy nhiên , trong lúc này, bạn có thể làm cho công việc của mình thú vị hơn một chút bằng cách cố gắng di chuyển bất kỳ chức năng nào bạn có thể phía khách hàng và sử dụng các cuộc gọi không đồng bộ để kích hoạt công cụ xảy ra trên máy chủ. Hãy nghĩ về điều này như một giao diện HTML / JavaScript với Dịch vụ web (được triển khai trong ASP cổ điển) ở mặt sau. Phát triển API RESTful có thể là một thách thức thú vị, có một số công cụ như trình phân tích cú pháp JSON cho Classic ASP để di chuyển dữ liệu qua lại theo cách chuẩn hơn và tạo khuôn mẫu phía máy khách sẽ cho phép bạn định dạng dữ liệu bạn nhận được từ các dịch vụ web của mình để trình bày đẹp hơn. LinkedIn đã làm một cái gì đó tương tự để thống nhất các công nghệ back-end khác nhau.

Khi bạn có API RESTful, bạn có thể thử viết một số dịch vụ web được quản lý để mô phỏng chức năng của các công cụ Classic ASP hiện có.


4
+1 Câu trả lời tuyệt vời! Làm cho Classic ASP hiện đại hơn! Bạn có thể sẽ làm một cái gì đó RẤT độc đáo và thông minh và bạn sẽ học được rất nhiều. Tôi thấy tôi không bao giờ chán khi tôi đang học.
maple_shaft

@maple_shaft: Trick đang tránh xa việc học đủ lâu để hoàn thành công việc hữu ích =).
R0MANARMY

Vâng, đó chính xác là loại câu trả lời mà tôi đang tìm kiếm. Một cái gì đó để làm trong thời gian đó. Ngoài ra, với những người khác đề nghị tìm kiếm một công việc khác, tôi biết rằng cuối cùng tôi sẽ tìm được một công việc khác phù hợp với sở thích của mình, và đó sẽ không phải là một lựa chọn khó khăn khi nó gõ cửa nhà tôi.
Saul Delgado

11

Trước khi tôi bắt đầu, tôi sẽ không giải quyết vấn đề liệu sếp của bạn có đúng hay không khi khăng khăng với ASP cổ điển. Bạn đã không cung cấp cho chúng tôi đủ thông tin. Nếu bạn có một khối lượng mã hiện có rất lớn trong Classic ASP đủ tốt 95% và bạn đang thực hiện các nhiệm vụ bảo trì nhỏ, thì có lẽ bạn chỉ nên gắn bó với Classic ASP ... chi phí chuyển mọi thứ sang ngôn ngữ mới có thể quá cao. Tuy nhiên, nếu ông chủ của bạn đang khởi động các dự án mới trong Classic ASP, thì không có lý do gì cho điều đó. Và có cả một phạm vi ở giữa. Vì vậy, tôi không có đủ thông tin để cân nhắc về điều đó và sẽ không bận tâm.

Nhưng tôi muốn giải quyết câu hỏi chính xác của bạn ... làm thế nào để mã hóa Thú vị .

Thật thú vịmột điều tốt trong mã hóa? Hãy nhớ lời nguyền của Trung Quốc, "Bạn có thể sống trong thời gian thú vị không?" Chà, có lẽ không phải là tiếng Trung Quốc ... nhưng vấn đề là, tôi nghi ngờ liệu tất cả các hình thức lập trình có nên thú vị không. Đôi khi bạn chỉ muốn nó dễ dàng và đơn giản. Rối loạn mã lớn nhất mà tôi từng phải dọn dẹp là do các nhà phát triển đã mệt mỏi với cách làm đơn giản đơn giản và cần tìm một tính năng ngôn ngữ thông minh mà chưa ai từng nghe, chỉ để kích thích tâm trí của chính họ. Tôi nhớ đã tìm thấy 20 dòng mã C ++ mà mục đích tôi không thể giải mã được. Hóa ra đó là một thủ thuật tinh vi của một nhà phát triển để đảm bảo rằng các biến nhất định đã được khởi tạo thành 1 nếu bạn quên khởi tạo chúng. Thật là nực cười, và cậu bé thật thú vị. Nhưng nó lãng phí tất cả mọi người '

Có rất nhiều đức tính để viết hầu hết các mã hàng ngày của bạn bằng một ngôn ngữ "nhàm chán". Điều đó có nghĩa là bạn có thể sử dụng bộ não của mình để suy nghĩ về miền ứng dụng thay vì cố gắng tìm hiểu lý do tại sao tính năng ngôn ngữ mới nhất bạn vừa nghĩ ra không hoạt động theo cách bạn mong đợi. Bạn thường có thể làm việc nhanh hơn rất nhiều nếu bạn hiểu hoàn toàn ngôn ngữ và thư viện của nó. Và điều đó có nghĩa là bạn có thể sử dụng chu kỳ não của mình cho một cái gì đó như suy nghĩ về việc làm cho ứng dụng của bạn thú vị hơn, hữu ích hơn, có lợi hơn hoặc có thể sử dụng nhiều hơn.

Để giữ đầu óc minh mẫn, hãy sử dụng thời gian rảnh rỗi để học các ngôn ngữ mới thú vị. Làm việc trên các dự án nguồn mở hoặc làm việc trên các dự án của riêng bạn.

Hãy nhớ rằng, tôi không bảo vệ việc sử dụng Classic ASP và tôi không nói nên sử dụng nó vì nó "nhàm chán". Nếu bạn nghĩ rằng đó là một đức tính tốt để sử dụng một môi trường phát triển "thú vị", sẽ mang lại nhiều sức mạnh hơn cho bạn ... nhưng bạn đang tập trung vào điều sai trái. Một nhà điêu khắc giỏi không muốn có một cái đục thú vị ... điều đó sẽ cản trở việc tạo ra những bức tượng đẹp. Một họa sĩ giỏi không tìm kiếm những cây cọ "thú vị". Họ có thể đánh lừa những công cụ thú vị, nhưng họ sẽ làm hết sức mình với những công cụ nhàm chán nhất có thể - những công cụ nhàm chán đến nỗi họ biến mất và để nghệ sĩ hoạt động nghệ thuật.


3
Tôi tin rằng câu hỏi không được hướng cụ thể vào các tính năng thú vị của một ngôn ngữ nhất định, nhưng hơn thế nữa, tôi có thể làm gì để mong được đến làm việc mỗi ngày? Trong bối cảnh đó, quan điểm của bạn về việc lùi một bước khỏi mã hóa và hỏi Làm thế nào tôi có thể làm cho ứng dụng này thú vị hơn, hữu ích hơn, có lợi hơn hoặc có thể sử dụng nhiều hơn? là tại chỗ. Đó không phải là quá nhiều một nghệ sĩ sử dụng một bàn chải thú vị để vẽ mà là tìm các đối tượng thú vị để vẽ.
R0MANARMY

Bạn đã nói "thú vị hơn, hữu ích hơn, có lợi hơn hoặc có thể sử dụng nhiều hơn". Tôi tự hỏi có bao nhiêu người làm việc như các lập trình viên để làm việc trên các khía cạnh của phần mềm? Tôi sẽ nghĩ rằng chỉ khi bạn sở hữu tất cả hoặc một phần của dự án, hoặc bạn đã làm việc khi bắt đầu, bạn có thể chạm vào những thứ đó. Kinh nghiệm của tôi là hầu hết các môi trường mà những quyết định đó được để lại cho người khác, chủ yếu là quản lý hoặc PM.
aceinthehole

7

Bạn cảm thấy như bạn đang đi lùi bởi vì bạn là . Không có lời khuyên nào khác ngoài việc tìm một công ty không bị mắc kẹt trong thời kỳ đen tối. Hoàn toàn không có lý do để gắn bó với Classic ASP trong thời đại ngày nay; thực tế tôi sẽ nói thẳng rằng việc chọn gắn bó với Classic ASP sẽ gây tổn hại cho bạn trong tương lai vì A) Các kỹ năng .NET và Java của bạn sẽ bị teo và B) Đối với một nhà tuyển dụng tương lai bạn đang làm việc trên Classic ASP, một công nghệ điều đó đã lỗi thời trong hơn 10 năm và thậm chí sau đó giống như nhổ răng; nói cách khác, bạn không có bất kỳ kinh nghiệm liên quan. Bạn đã chọn kém, có vẻ như.

Bạn chỉ có thể làm rất nhiều với Classic ASP, và tất cả đều rất đau đớn.


4
OP chỉ ra rằng đây là những gì anh ấy đang mắc kẹt trong ít nhất là trong tương lai gần, vì vậy đề nghị anh ấy rời đi là không hữu ích. Chỉ ra tất cả những cách bạn cảm thấy rằng tình huống của anh ta thật tồi tệ thậm chí còn ít hữu ích hơn. 10 năm trước sẽ là năm 2001 khoảng một năm trước .Net framework 1.0 được phát hành nên asp cổ điển hầu như không bị lỗi thời.
Gratzy

2
@Gratzky không, nhưng đó là một công nghệ khủng khiếp ngay cả sau đó. Không thua kém nhiều so với hai lựa chọn thay thế chính: PHP và JSP
Sean Patrick Floyd

6

Tìm hiểu một ngôn ngữ hiện đại mà bạn chọn và sử dụng nó để tạo một công cụ tạo các trang và lớp ASP cho bạn, ví dụ như bằng kỹ thuật đảo ngược từ cơ sở dữ liệu đích. Điều đó chắc chắn sẽ làm cho nó thú vị.


T4 đến với tâm trí, nhưng tôi đoán bất kỳ công cụ tạo khuôn sẽ làm.
R0MANARMY

1
Tôi đã làm một cái gì đó như thế này. Tôi đã sử dụng Ruby để tạo các thủ tục lưu trữ và các lớp truy cập dữ liệu dựa trên các định nghĩa bảng cơ sở dữ liệu.
Larry Coleman

@Larry Coleman: Bạn có ý nghĩa gì đó dọc theo dòng Di chuyển
R0MANARMY

@ R0MANARMY: Vâng, nhưng Rails không có ở đó.
Larry Coleman

5

Tại sao bạn sẽ bị mắc kẹt với một công nghệ cũ? Các công ty di chuyển công nghệ tất cả các thời gian. Bí quyết là đưa ra một danh sách các lý do tại sao việc chuyển đổi sang công nghệ mới hơn có lợi cho công ty - cả từ quan điểm kỹ thuật cũng như kinh doanh. Nhiều lần hơn không, chi phí phía trước của việc di chuyển các ngăn xếp công nghệ vượt xa chi phí phát triển trong tương lai.

Ngay cả khi, vì một lý do mơ hồ nào đó, người ta thấy rằng không thể chuyển đổi các ngăn xếp công nghệ, bạn luôn có thể sử dụng các công cụ và công nghệ hiện tại để làm cho cuộc sống của bạn sử dụng các công nghệ cũ trở nên dễ chịu hơn.

Nếu sếp của bạn là một trong những nhà phát triển ban đầu của dự án và từ chối thay đổi công nghệ chỉ dựa trên thực tế rằng anh ta là sếp của bạn và hiểu rõ hơn bạn, thì rất có thể tôi sẽ tìm một công việc mới - bạn không muốn bị mắc kẹt trong một môi trường mà sự lãnh đạo của bạn là thiển cận. Tôi không nói rằng việc thuyết phục anh / cô ấy sẽ dễ dàng như tôi chắc chắn rằng họ có năm công việc đầu tư vào con mình và thừa nhận sự thay đổi là cần thiết là một cú sốc lớn cho 'cái tôi ole .. Bạn cần phải chắc chắn rằng bạn có những lý do rõ ràng , ngắn gọncó thể đo lường được là tại sao cần phải di chuyển, nơi nó sẽ khiến sếp của bạn rơi vào tình huống không di cư rõ ràng sẽ là một quyết định tồi tệ.

Chúc may mắn.


Tôi biết, không có lý do gì để mắc kẹt với công nghệ cũ, ngay cả khung làm việc tùy chỉnh mà chúng tôi sử dụng ở đây là một nỗi đau để sử dụng và thậm chí không cung cấp một nửa lợi ích của bất kỳ khung lập trình thương mại nào. Tôi nhớ đã nghe ở đâu đó quanh đây rằng thực tế là nó được sản xuất trong nhà có thêm một lớp che khuất có thể được coi là một biện pháp bảo mật, nhưng thành thật mà nói, tôi không mua nó.
Saul Delgado

2
@ reno812, Bảo mật thông qua che khuất KHÔNG phải là bảo mật. Giống như nếu cửa sau của ngôi nhà của bạn được mở rộng và nói rằng ngôi nhà của bạn an toàn vì cánh cửa đó không phải đối diện với đường phố.
maple_shaft

Tôi biết điều đó không phải, chỉ để cung cấp cho bạn và ý tưởng về tâm lý xung quanh đây.
Saul Delgado

3

Tôi cũng làm việc với Classic ASP trong công việc và tôi đã quản lý (ở một mức độ nào đó) để làm cho nó thú vị. Dưới đây là các bước:

  • Cổ điển ASP có thể được mã hóa bằng VBScript hoặc JScript (Javascript) mà không cần sửa đổi kiến ​​trúc. Chuyển sang Javascript.
  • Có quyền truy cập vào các thư viện khác nhau: json2.js, gạch dưới, ria mép ... Bạn có thể xem thư viện Node.JS hoặc thư viện phía máy khách, với nhiều sửa đổi khác nhau.
  • Xây dựng một khung MVC hoặc tải xuống. Bạn có thể quản lý việc tạo khuôn mẫu và chế độ xem bằng cách tải một tệp từ máy chủ và đọc nội dung của nó và sử dụng một trong nhiều thư viện tạo khuôn mẫu JS ngoài đó. Đối với bộ điều khiển, bạn có thể sử dụng các biến trong truy vấn để chuyển hướng yêu cầu theo cách bạn thường sử dụng URL (ít sạch hơn nhưng nó hoạt động).
  • Bạn cũng có thể xây dựng API REST (đơn giản hóa)!
  • Tạo một ORM (nếu bạn có quyền truy cập vào cơ sở dữ liệu) hoặc tải xuống. Bạn thậm chí có thể tạo một số LINQ-to-SQL dựa trên dấu gạch dưới.
  • Làm việc trên quan điểm của bạn. Sử dụng các thư viện JS nâng cao như Angular hoặc Backbone. Swtich từ CSS đến LESS, Stylus hoặc SASS.
  • Tạo các lớp proxy-to-ugly-code. Đó là những lớp được tạo ra với mục đích duy nhất là giao tiếp với mã xấu cũ để bạn không phải chạm vào nó.

2

Bạn có thể tạo các lớp của riêng mình và hợp lý hóa càng nhiều quy trình càng tốt. Đây là một trang web với một vài ví dụ: http://www.u229.no/ ware /

Bạn thậm chí có thể tiếp thị các lớp học của mình cho những người khác vẫn sử dụng ASP cổ điển. Giống như Demian đã nói, có rất nhiều công ty với các công nghệ cũ hơn ... không phải ai cũng nhảy vào công cụ mới.


Lần cuối cùng tôi phải làm việc với asp cổ điển, cách đây khá lâu, một trong những điều ngạc nhiên thú vị là VBScript đã bắt đầu hỗ trợ các lớp.
Gratzy

1

Đầu tiên và quan trọng nhất, nếu anh ấy không tốn chi phí cập nhật công nghệ của bạn mà thực tế là CEO quá ngắn ngủi đến nỗi anh ấy từ chối nâng cấp Tech dựa trên ý tưởng mà anh ấy biết rõ nhất và thích asp cổ điển, tôi sẽ có một số nghi ngờ thực sự về sức khỏe lâu dài của công ty và với kỹ năng thực hiện asp cổ điển, bạn càng chờ đợi lâu thì càng khó để có được một công việc khác.

Đã nói rằng, bắt đầu di chuyển mọi thứ để sử dụng "tùy chọn nghiêm ngặt" điều này có thể làm cho việc duy trì cơ sở mã của bạn bớt đau đớn


1

Vì dữ liệu đã có trên AS400 / IBMi, bạn có biết bạn có thể chạy các giao diện Java, PHP, MySQL và những thứ khác trên HĐH đó không? Tôi đoán anh ta là một chàng trai 400, không phải là một chàng trai ASP. Hãy thử nắm lấy điều này, tôi rất muốn có cơ hội phát triển 400 hệ sinh thái như thế.


0

Tất cả các câu trả lời ở đây thực sự rất tốt. Tôi chỉ muốn đề nghị một sự thay thế khác.

Bắt đầu di chuyển các mối quan tâm về cơ sở hạ tầng (cơ sở dữ liệu, hệ thống tệp, mã COM, v.v.) thành các tệp riêng biệt. Ví dụ: bạn có thể có một thủ tục trả về một recordset dưới dạng một mảng (tôi đã làm điều này 8 năm trước nhưng không có mẫu mã nào - xin lỗi).

Cố gắng xóa bỏ "mã" xuất hiện trong HTML của bạn bằng cách di chuyển nó lên đầu trang hoặc thậm chí trong một lớp chung / tiện ích. Thậm chí có thể có các chức năng tiêu đề / điều hướng / chân trang trong một trang asp duy nhất với các trang nội dung có tương đối ít mã trong đó (với một số tham chiếu đến các biến và như vậy).

Với nội dung, cách trình bày / định dạng, logic kinh doanh và cơ sở hạ tầng của bạn, tất cả đều tách biệt bạn giờ đang ở vị trí để chuyển sang ASP.NET MVC một khi bạn vượt qua giai đoạn học tập với công nghệ đó. Sẽ không dễ dàng như lật một công tắc, nhưng nó sẽ có cảm giác rất giống với bất kỳ ai đang làm việc với giải pháp Classic ASP đã được mô đun hóa của bạn (có nghĩa là ông chủ của bạn thực sự thích nó).


-1

Làm thế nào để làm cho Classic ASP thú vị nếu bạn bị mắc kẹt với nó?

Đầu tiên, hãy tự hào về công việc của bạn (mặc dù đó là Classic ASP). Lý do: Một trang ASP cổ điển kém phát triển (hoặc được vá) sẽ là một trang web LỚN thậm chí quanh cổ bạn. Sếp của bạn sẽ tự nhiên mong đợi bạn sửa chữa bất kỳ lỗi nào phát sinh, và nó sẽ cảm thấy xui xẻo. Chỉ cần tải một vài bản nhạc hay, đeo tai nghe và vào và ra ngoài nhanh nhất có thể (giả sử rằng trên thực tế, có ánh sáng ở cuối đường hầm và bạn sẽ sớm làm việc với một cái gì đó thú vị hơn).

Thứ hai, trong phạm vi mà bạn có thể, hãy cố gắng hết sức để làm cho các trang trông đẹp mắt. Làm việc kỳ diệu của bạn với CSS. Sử dụng Bootstrap nếu bạn có thể. Và sử dụng AJAX và các kỹ thuật khác để giảm thời gian tải và làm mới toàn màn hình.

Thứ ba, cố gắng hết sức để sử dụng jQuery, jQuery UI và các thư viện phía máy khách khác để làm cho các trang nhanh và trôi chảy. Đôi khi, bạn có thể loại bỏ toàn bộ trang ASP bằng các chế độ, trình hướng dẫn hoặc thậm chí là các SPA ! Điều này sẽ làm giảm số lượng Classic ASP mà bạn sẽ phải viết và nó sẽ khiến công việc trở nên thú vị hơn rất nhiều.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.