2009-12-22 8 views
9

Tôi hiện đang làm việc trên một trang web đi qua thần biết có bao nhiêu tay của nhà phát triển. Một trong những điều tôi không thích về nó là cách mọi bảng trong cơ sở dữ liệu có tiền tố "tbl_" và mọi trường "fld_".Tôi có nên giữ các quy ước đặt tên không hợp lệ không?

Tôi đã bắt đầu làm việc trên một tính năng mới và tôi phải đối mặt với vấn đề sau: các bảng mới của tôi có tiếp tục với quy ước cũ hay không?

Tôi đoán tôi nên, nhưng tôi cảm thấy ngu ngốc làm nó :)

+0

Bạn đang nói về một cơ sở dữ liệu mà các bảng hiện tại không thể đổi tên được nữa bởi vì có rất nhiều chương trình/dòng mã dựa vào các tên bảng đó? –

+0

vâng, dự án là khá lớn, tôi không có kế hoạch thay đổi các bảng hiện có (mặc dù, tôi muốn có thể). Câu hỏi của tôi là liệu tôi có nên tiếp tục các quy ước tương tự hay không, và sự đồng thuận dường như là tôi nên .... vì vậy tôi là –

Trả lời

28

tôi sẽ giữ ước cùng .. Bất kể nếu nó xấu hay không ít nhất nó sẽ phù hợp. Và sự nhất quán sẽ rất quan trọng đối với nhà phát triển tiếp theo, những người nhận được mã số.

+7

+1 cho sự nhất quán – ChrisF

+3

+1 Khi ở Rome ... –

+1

Tôi ở cùng một thuyền, trong đó ứng dụng tôi đang phát triển chủ yếu là greenfield, nhưng nó sẽ tồn tại trong cấu trúc cơ sở dữ liệu hiện có. Tôi đã sử dụng các tiêu chuẩn sạch "tốt", và khi đến lúc triển khai, tôi phải thay đổi mọi thứ theo cách "xấu" để đặt tên các đối tượng cơ sở dữ liệu. Cảm ơn lòng tốt cho một DAL dễ dàng tái sinh. –

1

Đi với chi phí tuyến nào thấp hơn, bằng tiền và tài nguyên. Nếu nó sẽ không giúp bạn tiết kiệm tiền đi qua và re-tilling mặt đất, sau đó không. Chỉ cần nghiến răng và tiến lên phía trước.

2

Nếu đó là một phong cách liên tục trong suốt ứng dụng, tôi sẽ tuân thủ quy ước đặt tên, nó sẽ làm cho nó dễ dàng hơn nhiều trên nhà phát triển tiếp theo.

2

Tôi có xu hướng xem xét quy mô có liên quan. Sự nhất quán của một quy ước đặt tên xấu, với tôi, là thích hợp hơn vô số những cái khác nhau trong cùng một cơ sở dữ liệu hoặc cơ sở dữ liệu.

Nếu có một số bàn và bạn có thể thay đổi chúng một cách an toàn, cảm giác của tôi là thực hiện thay đổi. Nhưng bất cứ điều gì về quy mô hoặc một ứng dụng mà bạn chỉ làm một bugfix trên có khả năng không đáng để dành thời gian và công sức.

1

"Nếu nó không bị hỏng, không khắc phục được"

1

Tôi nghĩ bạn nên thích tính nhất quán và tuân theo quy ước đã được sử dụng.

Hãy suy nghĩ về (các) nhà phát triển kém đi theo bạn và phải đối phó với hai quy ước đặt tên khác nhau (bản gốc và công ước mới), không phải nhà phát triển mới thích.

8

Là một nhà thầu, tôi phải đối mặt với vấn đề này rất nhiều. Đây là 2 xu của tôi:

Nếu nó không bị hỏng, thì khách hàng sẽ lãng phí tiền của họ khi tôi thay đổi điều đó. Trừ khi tôi viết lại toàn bộ ứng dụng, tôi thường giữ nguyên các tiêu chuẩn cũ (ít nhất), bạn không có một phần của ứng dụng với một quy ước và các phần khác bằng cách sử dụng một thứ khác - điều này giúp mã có thể đọc được bằng cách khác nhà phát triển).

1

Chào mừng bạn đến với thế giới bảo trì. ;)

Ai có thể nói rằng người tiếp theo làm việc trên trang web sẽ không coi thường cách bạn đã làm?

3

Bạn có hai tùy chọn.

  1. Thay đổi tất cả quy ước đặt tên xấu thành quy ước mới.
  2. Sử dụng các quy ước cũ.

Ai đó sẽ xem mã này sau và sẽ cần xử lý bất kỳ sự khác biệt nào bạn tạo. Điều đó có nghĩa là bạn cần phải biết rằng những người khác bị ảnh hưởng bởi quyết định này. Làm điều đúng đắn nếu bạn có thời gian, làm điều xấu xí nếu bạn không có thời gian ... nhưng hãy giữ nó kiên định.

1

Mọi quy ước đặt tên đều tốt hơn quy ước đặt tên không có/không nhất quán.

0

Tôi nói thay đổi iff có sự khác biệt đáng kể giữa mã cũ và mã mới. Ví dụ, nếu cách cũ là một kết thúc khủng khiếp và cách thức mới hoàn toàn độc lập, thì hãy tiếp tục và bắt đầu một quy ước mới. Nếu bạn đang làm là một sự nghỉ ngơi rõ ràng từ những gì đến trước, thì điều quan trọng hơn là những thứ khác nhau trông khác nhau.

0

Giống như mọi người đã nói, ở lại với quy ước xấu vì bạn không viết nó từ đầu. Tuy nhiên, sử dụng "thực hành tốt" nếu có nhu cầu hấp dẫn đối với nó (hay còn gọi là người dùng cuối sẽ bị ảnh hưởng tiêu cực nếu không). Ví dụ: nếu "quy ước xấu" làm cho người dùng API sử dụng quyền anh, hãy thay đổi giá trị của chuỗi và hiệu suất khác thành một mức độ tuyệt vời; không thêm vào vấn đề! Mục tiêu cuối cùng của phần mềm và API không phải là làm cho cuộc sống của các nhà phát triển trở nên dễ dàng hơn; nhưng người dùng cuối. Các nhà phát triển ở lại trong kinh doanh lâu là rất ý thức về điều này và bạn muốn trở thành một trong những nhà phát triển đó.