2008-09-17 44 views
5

Tôi đang xây dựng lại ứng dụng web được thiết kế kém của chúng tôi từ đầu, và muốn tham gia TDD và về cơ bản "làm mọi việc đúng" như một dự án học tập. Những công cụ, quy trình và tài nguyên nào được khuyến khích để làm điều đó "đúng" ngay từ đầu? Tôi sẽ làm việc một mình như là kiến ​​trúc sư và nhà phát triển, với bản sao lưu của một nhà phân tích kinh doanh và chủ doanh nghiệp để kiểm tra tính khả dụng và các trường hợp sử dụng.Quy trình tốt nhất cho ứng dụng web ASP.NET mới từ đầu là gì?

EDIT: Ngay bây giờ chúng tôi sử dụng SourceSafe để kiểm soát nguồn, có bất kỳ lý do công nghệ nào mà tôi muốn thử chuyển chúng tôi sang phiên bản lật đổ không?

EDIT # 2: Hình như sự đồng thuận là: Cruise Control.NET Subversion (nếu tôi muốn ngừng sử dụng SourceSafe) ASP.NET MVC NUnit cho kiểm tra đơn vị Resharper

Trả lời

5

tôi khuyên bạn nên bạn hãy xem MVC for ASP.NET nếu bạn muốn làm cho đơn vị thử nghiệm một ưu tiên cao trong quá trình phát triển của bạn. Nghe có vẻ như nó là hoàn hảo cho những gì bạn đang cố gắng làm.

Tôi cũng khuyên bạn nên CruiseControl.NET để tích hợp liên tục (điều này quan trọng nếu nhóm của bạn sẽ phát triển).

Subversion là hệ thống kiểm soát nguồn yêu thích của tôi khi tôi làm việc trên các nhóm nhỏ. Sử dụng Tortoise SVN để tích hợp Windows Explorer.

1

Chúng tôi đang sử dụng thiết lập với Visual Studio 2008, Resharper 4.1, Subversion cho sourcecontrol, Kiểm soát hành trình để xây dựng tự động và xây dựng thử nghiệm đơn vị cho tất cả các thử nghiệm tự động của chúng tôi. và Linq2Sql cho hoặc ánh xạ. Bạn có thể trao đổi bất cứ điều gì nhưng VS (rõ ràng) và resharper (nó rất mát mẻ) nhưng bạn có thể dễ dàng sử dụng một sourcecontrol, hoặc bản đồ hoặc công cụ kiểm tra đơn vị.

1

Dưới đây là một số công cụ có thể làm cho nó dễ dàng hơn và an toàn hơn để làm việc (Googling tên sẽ mang đến những trang có liên quan):

Subversion - Kiểm soát Nguồn
NUnit - khuôn khổ kiểm tra
CruiseControl.Net - Tự động xây dựng

1

An toàn nguồn trực quan có chính sách khóa chặt chẽ để chỉ một người có thể làm việc trên một tệp tại một thời điểm .... CVS hoặc lật đổ cho phép nhiều người dùng làm việc trên cùng một tệp cùng một lúc.

+0

Vì vậy, nếu tôi đang làm việc một mình nó không phải là một việc lớn, nhưng nó sẽ trở thành như vậy khi tôi nhận được một nhà phát triển mới thuê làm việc theo/với tôi huh? –

+0

Có rất nhiều nhóm lớn sử dụng SourceSafe. Nếu các thành viên trong nhóm của bạn làm việc trên các thành phần khác nhau của hệ thống mà chúng hiếm khi trùng lặp, nó sẽ không phải là vấn đề lớn. Bạn có thể gắn bó với nó cho đến khi có vấn đề, sau đó thực hiện chuyển đổi. Sở thích cá nhân của tôi là SVN. – JasonS

+0

Có tùy chọn Cho phép nhiều lần kiểm tra trong SourceSafe –

1

Tất cả các đề xuất ở đây đều tốt, nhưng không có viên đạn ma thuật. Bạn sẽ phải xem ứng dụng của mình lớn đến mức nào, có bao nhiêu người dùng, nó được triển khai như thế nào, v.v. để làm cho kiến ​​trúc, quy trình, bộ công cụ của bạn và các quyết định khác. TDD, ví dụ, là một phương pháp tốt, nhưng không phải là phương pháp tốt duy nhất cho "làm điều đúng". Một chiếc khác, CruiseControl thật tuyệt vời, nhưng trong một dự án phát triển duy nhất, nó có lẽ là quá mức cần thiết.

Nhất quán trong bất cứ điều gì bạn làm là gợi ý tốt nhất của tôi - nếu bạn đi với TDD, GO WITH TDD nếu bạn biết ý tôi là gì.

+0

Tôi biết rằng không có "viên đạn ma thuật", những gì tôi đang tìm kiếm ở đây là một số gợi ý từ những người khác về những gì đã phục vụ tốt trong quá khứ. Tôi dự định lấy những gợi ý GREAT này và ngồi xuống và thực hiện một loạt các nghiên cứu và thiết kế chiến lược tốt nhất cho tôi và dự án của tôi. –

+0

"Một số khác, CruiseControl là tuyệt vời, nhưng trong một dự án phát triển duy nhất, nó có lẽ là quá mức cần thiết." Tôi không ngại một chút quá mức cần thiết như tôi mong đợi nhóm của tôi phát triển trong tương lai và tôi muốn sử dụng những công cụ này liên tục, không chỉ để "hoàn thành công việc và tiếp tục". –

2

Một câu trả lời cho câu hỏi kiểm soát nguồn của bạn ...

Thiết kế lại ứng dụng từ mặt đất lên có lẽ sẽ là một dự án tốn nhiều thời gian, tôi sẽ không lãng phí thời gian thay đổi kiểm soát nguồn trừ khi bạn đã biết chính xác cái nào bạn sẽ sử dụng và có kinh nghiệm thiết lập nó.

Nguồn trực quanSafe hoàn thành công việc, đặc biệt là trong nỗ lực 1 người và đã sẵn sàng để chạy với nó.

0

Nếu bạn mới bắt đầu thì tôi sẽ thay đổi ít nhất có thể (đặc biệt là vì bạn là nhà phát triển duy nhất), nên hãy gắn bó với Sourcesafe. Hoàn toàn không có gì sai với nó trong tình huống của bạn.

Sau đó xuống dòng, bạn có thể nhìn về phía Hệ thống nhóm MS hoặc có thể sử dụng các công cụ của bên thứ ba khác.

Cá nhân tôi không phải là người hâm mộ của Subversion, nhưng tôi nhận ra rằng đó là một công cụ phổ biến trên toàn ngành.

Đối với phần mềm TDD cụ thể, tôi không thể đưa ra lời khuyên nào. Bạn có các công cụ ưu tiên cho UML hoặc bất kỳ phương pháp chính thức nào bạn đang sử dụng không?

+0

Ngay bây giờ chúng tôi không có phương pháp chính thức, và đó là một phần của vấn đề. Đó là rất nhiều "chỉ làm cho nó hoạt động" loại lý tưởng xung quanh ở đây trước khi tôi đến đây. Các nhà phát triển đã viết hầu hết các ứng dụng tôi viết lại không phải là với công ty nữa và nó chỉ làm cho tôi bị bệnh để xem cách ông thiết kế ứng dụng này. –

0

Một điều cần đề cập: Hãy chắc chắn 100% rằng bạn hiểu những gì chương trình đang làm và những gì nó phải làm, trước khi thực hiện bất kỳ thay đổi nào. Một softwer 'xấu' thường trở thành 'không phải là xấu' sau khi hiểu toàn bộ tình huống.

SourceSafe có thể ok, nhất là đối với một người, nhưng khi đó sẽ có ngày càng nhiều ppl trong nhóm, mô hình khóa có thể được gây phiền nhiễu, nhưng đối với thời gian của con người: gắn bó với nó

+0

Ồ, tôi hoàn toàn hiểu những gì nó phải làm, và những gì nó hiện đang làm. Tôi đã giúp hoàn thành dự án khi tôi bắt đầu và đã duy trì nó kể từ đó. Nó được viết bằng asp.net như thể bạn vẫn đang sử dụng cổ điển asp. –

+0

Điều này bắt đầu bằng 15 điều khiển người dùng được tải trên cùng một trang và được hoán đổi để hiển thị khi người dùng điều hướng! Ông cũng đã có nhiều trang aspx sử dụng các tập tin codebehind tương tự và chọn lọc được gọi là phương pháp dựa trên những gì trang đang sử dụng tập tin, chỉ cần rất nhiều điên cuồng như thế. –

1

Chúng tôi viết lại trang web của chúng tôi như bạn đang làm và chúng tôi đang sử dụng C# với MVC. Thật tuyệt vời. Chúng tôi sử dụng SourceSafe của Microsoft để kiểm soát mã của chúng tôi và nó hoạt động tuyệt vời. Vì bạn là nhà phát triển duy nhất nó sẽ phụ thuộc vào những gì bạn thích.

Nguồn an toàn của Microsoft cho phép chúng tôi tạo một chi nhánh mà chúng tôi có thể làm việc có thể tiếp tục kiểm soát nguồn và chúng tôi có thể chuyển đổi giữa cả hai cách dễ dàng. (Tôi thực sự đã không sử dụng subversion nhiều vì vậy tôi không thể nhận xét về nó.)

Chúng tôi sử dụng NUnit để kiểm tra/giả lập mã của chúng tôi. Nó siêu dễ dàng để thử chúng ra. Chúng tôi tạo ra một lớp học sẽ lưu và đọc các đối tượng.

Chức năng lưu: Luồng luồng = File.Open (simplePath, FileMode.OpenOrCreate); BinaryFormatter bwriter = new BinaryFormatter(); bwriter.Serialize (luồng, thực tế);

Chức năng đọc: Luồng luồng = File.Open (simplePath, FileMode.Open, FileAccess.Read, FileShare.Read); BinaryFormatter bwriter = new BinaryFormatter(); đối tượng returnObject = bwriter.Deserialize (luồng);

Chúng tôi đã sử dụng NUnit để loại bỏ xml và SQL.

Chúc may mắn

1

Nếu bạn sắp thành lập một trường trong lành của lật đổ và tích hợp liên tục, bắt đầu từ màu xanh lá cây từ một nền VSS, hai gói miễn phí có thể sẽ giúp bạn tiết kiệm ngày (hay vài tuần) của thời gian:

  • Visual SVN Server thiết lập tất cả mọi thứ cần thiết cho một máy chủ lật đổ, bao gồm Windows AD auth và một giao diện quản trị. Miễn phí, bạn có thể xem xét hỗ trợ tuyệt vời của họ VisualSVN VS addin để tích hợp điều khiển nguồn trong Visual Studio.Ngoài ra, có thể nhìn vào AnkhSVN

  • TeamCity Một gói tích hợp liên tục (thay thế cho CruiseControl.NET) từ JetBrains (nhà sản xuất của ReSharper, một công cụ tuyệt vời, như đã đề cập) đó là miễn phí cho phiên bản chuyên nghiệp (lên đến 20 người dùng và 3 máy chủ xây dựng).

Hai gói là một số trong những cách dễ cài đặt xung quanh, thử thách bản thân VSS :-)

Sử dụng SVN có thể mất một điều chỉnh nhỏ; nhưng với doco tuyệt vời cho bất kỳ khách hàng nào bạn chọn (AnkSVN, VisualSVN, TortoiseSVN hoặc một số kết hợp), bạn sẽ ổn.

Bên cạnh đó, bạn biết được nơi để tìm thấy những người mong muốn trả lời bất kỳ câu hỏi mà bạn có thể có để đổi lấy Rep ;-)

1

Check-out TypeMock hoặc Rhino Mocks. Mocking có thể giúp bạn tiết kiệm rất nhiều thời gian và đau đớn khi bạn đang thử nghiệm đơn vị một ứng dụng web.

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