2010-08-27 32 views
13

Tôi đang phát triển một ứng dụng bằng cách sử dụng các công cụ sai. Tôi không muốn nhận được quyền hoặc sai lầm của điều này - nền tảng đã được ban phước như là chiến lược và không có gì sẽ thay đổi điều đó ngay bây giờ. Nhưng tôi hy vọng ai đó có thể cho tôi một số lời khuyên về cách làm tốt nhất tình hình.Mẹo để viết mã bằng các công cụ thù địch?

Chúng tôi sử dụng ngôn ngữ phía máy chủ, hãy gọi nó là X và HTML/JS/CSS phía máy khách (trên IE6). X là nguyên thủy từ quan điểm phát triển ứng dụng của xem (nhưng tuyệt vời cho xử lý dữ liệu, đó là lý do tại sao chúng tôi đang sử dụng nó); nó thậm chí không có khái niệm về các hàm do người dùng định nghĩa, do đó, cố gắng làm cho mô-đun ứng dụng theo bất kỳ cách nào là một thách thức. Hãy suy nghĩ hàng chục ngàn dòng lồng nhau nếu/sau đó/câu lệnh khác.

Giả định hiện tại của tôi là việc giảm yếu tố spaghetti của mã sẽ không thể thực hiện được, và tài liệu thực sự tuyệt vời đó là vũ khí duy nhất của tôi chống lại việc trở thành cơn ác mộng hoàn toàn không được hỗ trợ kết thúc trên TheDailyWTF.

Có ai có ý tưởng nào khác không?

(tôi không đề cập đến những gì X ngôn ngữ chỉ đơn giản là vì tôi hy vọng câu trả lời cho các vấn đề chung của làm việc với các công cụ thiếu, không phải bất kỳ chiến thuật đặc biệt đối với X.)

Edit:

Ok, đối với những người tò mò, X là SAS. Tôi không muốn câu hỏi tập trung vào việc các macro kiểu hàm là các hàm (chúng không và không thể triển khai các mẫu thiết kế) hay đổ lỗi cho nó - do các ràng buộc của dự án cụ thể này, tôi thực sự đồng ý với quyết định sử dụng nó! Tôi cũng chắc chắn rằng phần lớn các phần mềm được phát triển trong môi trường cực kỳ tối ưu (các công cụ bị hỏng, quản lý xấu, gánh nặng thừa kế, vv), và rằng phải có các chiến lược để làm cho mọi thứ hoạt động ngay cả như vậy.

+10

Nếu câu hỏi nhận được câu trả lời hợp lý, bạn sẽ cho chúng tôi biết X là gì? ;) – Max

+0

Hmmm ... thật không may X âm thanh thực sự quen thuộc :) –

+0

Vâng, tôi đã làm hết sức mình, và tôi hy vọng cũng sẽ biết được X là gì) –

Trả lời

2

X có nhận xét không?

Viết ít ngôn ngữ của bạn hay còn gọi là mã giả trong các nhận xét.

1

Ngoài tài liệu, lựa chọn các tên biến và quy ước về cách chúng được sử dụng có thể giúp ích một chút. Ngoài ra, bạn có thể thiết lập một số quy ước cấu trúc trong mã để có một số quy luật. Quay trở lại khi nào, khi những người viết chương trình lập trình tốt có thể đọc được mã.

0

Có thể sử dụng một công nghệ khác, phù hợp hơn với vấn đề của bạn giữa X và phía máy khách?

Hoặc, bạn có thể sử dụng nhiều câu lệnh IF/Then/else để xây dựng các khối mã mô-đun, có thể giúp bảo trì.

8

Bạn có quen thuộc với Church thesis không?

Nếu bạn không thể giải "A" trong Y nhưng bạn có thể mô phỏng Z trong Y và Z có thể giải "A" thì theo định nghĩa Y có thể giải "A".

Có thể bạn có thể viết một số thói quen tổng quát mà bằng cách nào đó làm cho X có hiệu quả hơn cho vấn đề ở bàn tay? Một loại tiện ích mở rộng cho X, hoặc thậm chí tốt hơn, được thực hiện trong X là little-language?

Dường như những người khác có xu hướng liên kết "ngôn ngữ nhỏ" với tài liệu. Trong khi bạn có thể thử đi theo cách đó (trong trường hợp này tôi đề nghị bạn xem Robodoc) Tôi đã suy nghĩ điều gì đó gần hơn với Wasabi, trong cách tiếp cận - tức là thực sự sử dụng công cụ X của bạn để tạo một loại thông dịch viên cho X ++ hoặc thậm chí Y, mà không biết X là gì tôi không thể, tất nhiên, cụ thể hơn thế.

1

hmmmm, âm thanh như một nhà phát triển quai bị/Intersystems cache;)

Nghiêm túc, mặc dù bạn có thể muốn kiểm tra nếu có bất kỳ công cụ cho 'X' có thể lập bản đồ dòng chảy của chương trình, hoặc như là một phần của quá trình tài liệu sẽ mở ra một thứ gì đó như Visio hoặc một công cụ tương tự khác, nơi bạn có thể xem qua mã và vạch ra những gì nó làm (nhiều hơn hoặc ít hơn). Phần khó nhất có lẽ sẽ phải quay trở lại và nhìn chằm chằm vào bức tường mã đó và nhảy ngược lại vào để mọi thứ bạn có thể làm để ghi lại nó/vẽ đồ thị/biểu đồ nó sẽ giúp ích.

0

Tôi thấy khó để tin rằng bạn không có bất kỳ hình thức hàm do người dùng định nghĩa sẵn trong X - ngay cả các tập tin batch có chức năng (loại)

Ngay sau khi bạn có chức năng, bạn có thể làm cho mọi việc ít nhất là khá mô-đun.

0

Bạn có thể tìm thấy ngôn ngữ mình thích và triển khai thông tin "tát một số dữ liệu vào mẫu" thông thường trong công cụ ứng dụng web trong đó và triển khai trình bao bọc để gọi ra 'X' cho mọi thứ .

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