2010-11-16 31 views
5

Lập trình viên trước đó đã rời khỏi trang web ở trạng thái khá không sử dụng được và tôi đang gặp khó khăn khi sửa đổi bất kỳ điều gì. Tôi mới để thiết kế web vì vậy tôi không biết liệu kỹ năng của tôi là không phù hợp với loại công việc này hoặc là nó bình thường trong ngành công nghiệp thực sự để có các trang web như thế nàyCác vấn đề với ứng dụng web

  1. Trang chủ bao gồm ba khung
  2. Mỗi khung có chức năng javascript riêng của họ (giữa <head>, và cũng có thể gọi các hàm javascript phổ biến khác (sử dụng <script src=..>
  3. sử dụng quá nhiều document.all -. trên thực tế các yếu tố được gọi hoặc truy cập bởi document.all chỉ
  4. quá mức sử dụng XSLT và dịch vụ web - Mặc dù tôi biết rằng việc sử dụng chúng tôi b Các dịch vụ thường được coi là một lựa chọn thiết kế tốt - có cách nào khác để tôi có thể sử dụng các dịch vụ này ngoài việc sử dụng xslt hay không. Ví dụ, trình đơn được tạo bằng cách sử dụng dữ liệu được trả về bởi một phương thức web.
  5. Mỗi <div>, <td> và mọi yếu tố khác có một id, và những id của đang bị thao túng bởi các chức năng javascript, và sau đó một số dịch vụ web phù hợp và các tập tin XSLT được nạp dựa trên những ..
  6. Từ quan điểm an ninh, ông đã sử dụng T-SQL's for xml auto cho hầu hết dữ liệu được trả về bởi dịch vụ web - đó có phải là lựa chọn tốt từ quan điểm bảo mật để hiển thị tên bảng và tên cột cho người dùng cuối không ??

Tôi rất bối rối về trạng thái của ứng dụng. Tôi có nên tìm hiểu về những phức tạp mà anh ấy đã phát triển và tiếp tục làm việc trên nó hay tôi nên bắt đầu viết lại mọi thứ? Những gì tôi đang bối rối là thiếu các lựa chọn thay thế - và liệu đây có phải là các dự án web phổ biến được xử lý trong thế giới thực hay nó là một ngoại lệ?

Bất kỳ đề xuất nào, mọi con trỏ đều được chào đón. Cảm ơn

+0

Tôi cảm thấy đau đớn của bạn, bro. – DOK

+0

Nó không âm thanh với tôi như thể đây là sử dụng khung asp.net như nó đã được dự định. Vì vậy, nếu ý kiến ​​của tôi có nghĩa là bất cứ điều gì tôi sẽ mạnh mẽ xem xét một kiến ​​trúc khác. –

+0

@DOK .. cảm ơn ... – Sekhar

Trả lời

3

Không, không thể chấp nhận trong ngành này mà mọi người tiếp tục viết mã không thể bảo trì.

Lời khuyên của tôi cho bạn là đi lên chuỗi và thuyết phục mọi người rằng điều này cần phải được viết lại. Nếu họ hỏi bạn, hãy tìm một nhà tư vấn bên ngoài với các kỹ năng phát triển web có liên quan để xem xét đơn đăng ký (trong 1 ngày).

Giữ trang web này như hiện tại, bởi vì nó hoạt động giống như việc giữ một mẫu xe Ford-T đang hoạt động trên đường cao tốc ngày nay, rất nguy hiểm. Chi phí bảo mật và bảo trì có thể là chủ đề thuyết phục nhất để thuyết phục bất kỳ ai chống lại việc giữ trang web này 'nguyên trạng'.

Tiếp theo, tự rèn luyện, nó sẽ trả hết nếu bạn có thể viết lại ứng dụng này khi biết những điều cơ bản. Công nghệ Todays (asp.net MVC) cho phép bạn thực hiện giá trị kinh doanh cốt lõi nhanh hơn so với cố gắng duy trì ứng dụng độc đáo này bằng văn bản.

+0

Nó không phải là một ý tưởng khôn ngoan để viết lại mã từ đầu. Dưới đây là một bài đăng blog tốt từ Joel Spolsky: http://www.joelonsoftware.com/articles/fog0000000069.html Nó luôn luôn là lựa chọn tốt hơn để cấu trúc lại mã sau đó viết lại từ đầu. –

+1

Tôi nghĩ rằng cũng hạn chế là theo thứ tự ở đây. Rất khó để đọc mã hầu như luôn luôn. Chỉ vì bạn không thể hiểu nó không có nghĩa là có bất cứ điều gì sai trái với nó :) – willcodejavaforfood

+0

Với bối cảnh: 1) nhà phát triển rời + 2) trang web không ổn định + 3) nhà phát triển mới chưa có kinh nghiệm + 4) .net 1.1 ?? viết lại từ đầu nó là lựa chọn tốt nhất. Tái cấu trúc trang web như vậy sẽ đòi hỏi một chuyên gia có tay nghề cao. Nguy cơ cao của việc phá vỡ trang web và dành nhiều thời gian và tiền bạc hơn để đưa nó đến trạng thái có thể duy trì chắc chắn sẽ phá vỡ tinh thần của bất kỳ ai để tiếp tục phát triển trang web này. Vì vậy, với áp phích này, câu trả lời của tôi là viết tắt: Cố gắng theo mọi cách có thể để doanh nghiệp thấy được giá trị hiển nhiên trong việc xây dựng trang web từ đầu. – Rudi

2

Điểm khó khăn cho một nhà phát triển thiếu kinh nghiệm (hoặc bất kỳ) nào bị bỏ lại. Tôi nghĩ bạn có một vài tuần khó khăn, bạn cần phải đọc kỹ các công nghệ liên quan để hiểu rõ hơn về chúng và thực hành tốt nhất là gì. Bạn cũng sẽ cần phải thực sự đào sâu vào mã hiện có để hiểu tất cả các mã này cùng nhau hoạt động như thế nào.

Khi bạn thực hiện tất cả những gì bạn thực sự cần phải suy nghĩ về các tùy chọn của mình. Thường viết lại một cái gì đó từ đầu (đặc biệt là nếu nó thực sự hoạt động) là một ý tưởng tồi. Điều này rõ ràng phụ thuộc vào kích thước của dự án, đối với một dự án nhỏ hơn với chỉ một vài nghìn dòng mã nó có thể là OK. Khi nhìn vào mã của ai đó, bạn cũng dễ dàng bỏ qua tất cả những điều kỳ quái đang xảy ra có thể thực sự được sửa chữa cho các yêu cầu hợp lệ. Mọi thứ thường bắt đầu trông gọn gàng, nhưng sau đó những từ thực sự đến thăm.

Bạn sẽ cần trình bày doanh nghiệp với ước tính thời gian viết lại để xem đó có phải là tùy chọn hay không, nhưng tôi đoán bạn sẽ cần chấp nhận mọi thứ và làm tốt nhất với những gì bạn có . Có lẽ bạn có thể dần dần cải thiện mọi thứ.

1

Tôi khuyên bạn nên di chuyển dự án sang MVC3 và viết lại các phần XSLT để hoạt động bằng cách sử dụng chế độ xem và/hoặc lượt xem một phần với MVC. Cú pháp ràng buộc mô hình Razor rất sạch sẽ và có thể nhanh chóng tách ra mã XSLT bẩn và chỉ còn lại các thuộc tính mô hình mà bạn sẽ cần. Sau đó, tôi sẽ có các dịch vụ web được gọi từ MVC serverside và để bạn deserialize các kết quả đối tượng thành các đối tượng thực (hoặc thậm chí chỉ sử dụng XQuery hoặc Json thẳng để duyệt trực tiếp nội dung của bạn) và kết nối chúng với lượt xem.

Điều này có thể là một bước tiến khá lớn đối với công nghệ tại công ty bạn. Một số nơi có ác cảm để thay đổi.

+0

Cảm ơn bạn đã giới thiệu những công nghệ đó. sử dụng một chút MVC nhưng chưa bao giờ nghe Razor .. và không bao giờ sử dụng XQuery mặc dù .. nhưng sẽ giữ cho bản thân mình ngang nhau. Cảm ơn. – Sekhar

0

Tôi đoán điều này đã được viết cách đây 6-7 năm và bị tấn công kể từ đó. Mỗi dự án tích tụ một số lượng nhất định của kẹo cao su bong bóng và băng keo. Âm thanh như thế này có vẻ tệ. Tôi đề nghị chia thành những miếng nhỏ. Tôi cho rằng trang web đang hoạt động ngay bây giờ? Vì vậy, bạn không muốn phá vỡ bất cứ điều gì, "kinh doanh" thường nghĩ rằng "nó đã làm việc tốt khi người cuối cùng đã ở đây."

Cảm nhận điểm đau lớn nhất để duy trì dự án và bạn sẽ đạt được những thắng lợi lớn nhất từ ​​việc sửa chữa. viết lại rất tuyệt, nếu bạn có thời gian và hỗ trợ. Nhưng nếu đó là một trang web phức tạp, có rất nhiều điều để nói cho một ứng dụng trưởng thành. Trưởng thành theo nghĩa là nó đáp ứng nhu cầu kinh doanh, không phải là mã tốt.

Ngoài ra, làm việc trên các bộ phận nhỏ sẽ giúp bạn làm quen tốt hơn với dự án và nhu cầu kinh doanh, vì vậy khi bạn bắt đầu viết lại, bạn sẽ có góc nhìn tốt hơn.

Các vấn đề liên quan