2009-12-22 4 views
9

저는 현재 신이 통과 한 사이트에서 많은 개발자들의 손을 알고 있습니다. 내가 좋아하지 않는 것 중 하나는 데이터베이스의 모든 테이블에 접두어 "tbl_"과 모든 필드 "fld_"가있는 방식입니다.잘못된 명명 규칙을 유지해야합니까?

새로운 기능에 대한 작업을 시작했고 다음과 같은 문제가 발생했습니다. 새 테이블을 이전 규칙으로 계속 사용해야합니까? 적어도 일관성이 될 것 상관없이이 나쁜 경우 또는하지 ..

은 내가해야 생각하지만, 나는 내가 같은 규칙을 유지하는 것

+0

기존 테이블을 더 이상 바꿀 수없는 데이터베이스에 대해 이야기하고 있습니까? 이러한 테이블 이름에 의존하는 많은 프로그램/코드 줄이 있기 때문입니다. –

+0

예, 프로젝트가 꽤 큽니다. 기존 테이블을 변경하려고하지 않습니다 (그래도 가능할 수 있기를 바랍니다.). 제 질문은 제가 같은 규약을 지켜야한다는 것이었고 합의는 제가해야 할 것 같습니다 .... 그래서 나는 –

답변

28

을 :)하고 바보가 된 기분. 코드 일관성을 확보 한 다음 개발자에게는 일관성이 매우 중요합니다.

+7

+1을 일관성을 위해서 – ChrisF

+3

+1 로마에있을 때 ... –

+1

나는 같은 배에 타고 있었고, 개발중인 애플리케이션은 주로 그린 필드 였지만 기존의 데이터베이스 구조에 살 예정이었습니다. 나는 "좋은"깨끗한 표준을 사용하고 있었고 배포 할 때가 왔을 때 나는 모든 것을 데이터베이스 객체의 이름을 짓는 "나쁜"방법으로 변경해야했습니다. 쉽게 재생성 된 DAL에 대해 감사드립니다. –

1

비용과 자원이 적게 드는 이동 경로. 돈을 절약하고 땅을 다시 채우지 않는다면,하지 마십시오. 치아를 닦고 앞으로 나아가십시오.

2

응용 프로그램 전체에 걸쳐 일정한 스타일이라면 다음 명명 규칙을 따르면 훨씬 쉽게 다음 개발자가 될 것입니다.

2

나는 관련된 스케일을 보는 경향이 있습니다. 나에게 잘못된 명명 규칙의 일관성은 동일한 코드베이스 또는 데이터베이스에있는 여러 다른 규칙보다 바람직합니다.

테이블이 몇 개 있고 안전하게 변경할 수있는 경우 내 느낌은 변경하는 것입니다. 그러나 버그 수정 만 수행하는 규모 나 응용 프로그램은 시간과 노력이 필요하지 않을 수 있습니다.

1

"가 파산하지 않을 경우, 그것을 해결하지 않는"

1

난 당신이 일관성을 선호 이미 사용되는 규칙을 따라야한다고 생각합니다.

뒤늦게 따라 와서 다른 두 가지 이름 지정 규칙 (원래 항목과 새 항목)을 처리해야하는 빈약 한 개발자를 생각해보십시오. 새 개발자도 마찬가지입니다.

8

계약자가되어이 문제에 많은 어려움을 겪고 있습니다. 여기에 내 2 센트입니다 :

깨진 것이 아니라면 클라이언트가 돈을 낭비하고 있습니다. 내가 전체 응용 프로그램을 다시 작성하지 않는 한 일반적으로 오래된 (나쁜) 표준을 유지합니다 (적어도 그렇게하면 한 가지 규칙과 다른 부분을 사용하여 응용 프로그램의 일부를 갖지 않습니다. 이렇게하면 다른 사람이 코드를 읽을 수있게됩니다. 개발자).

1

유지 관리의 세계에 오신 것을 환영합니다. ;)

누가 사이트에서 일하는 다음 사람이 당신이 일을하는 방식을 경멸하지 않을 것이라고 말하는거야?

3

두 가지 옵션이 있습니다.

  1. 모든 잘못된 명명 규칙을 새로운 규칙으로 변경하십시오.
  2. 이전 규칙을 사용하십시오.

누군가는 나중에이 코드를 살펴보고 작성한 차이점을 처리해야합니다. 즉, 다른 사람들이이 결정의 영향을 받는다는 사실을 알고 있어야합니다. 시간이 있다면 옳은 일을하십시오. 시간이 없다면 추한 일을하십시오.하지만 일관되게하십시오.

1

모든 명명 규칙은 일치하지 않는/일관성이없는 명명 규칙보다 좋습니다.

0

이전 코드와 새 코드 사이에 중요한 차이가있는 경우 변경하십시오. 예를 들어 옛날 방식이 막 다른 골목이었고 새로운 방식이 완전히 독립적이라면 새로운 대회를 시작하십시오.

신소재가 구조적으로 의미 상으로 일관성이 있다면 시각적으로 일관성이 있어야합니다.하지만 이전에했던 것과는 완전히 다른 것이면 다른 것이 달라 보이는 것이 더 중요합니다.

0

모두가 말했듯이 나쁜 컨벤션은 처음부터 쓰지 않기 때문에 계속하십시오. 그러나 강력한 요구가있는 경우에는 "우수 사례"를 사용하십시오 (일명 최종 사용자는 그렇지 않은 경우 부정적인 영향을받습니다). 예를 들어, "나쁜 컨벤션"API 사용자가 복싱을 사용하게 만드는 경우 문자열 및 기타 성능 저하 값을 큰 정도로 변경하십시오. 문제에 추가하지 마라. 소프트웨어 및 API의 최종 목표는 개발자의 삶을 더 쉽게 만들어주는 것이 아닙니다. 그러나 최종 사용자의 오랫동안 비즈니스에 머물러있는 개발자는이를 잘 알고 있으므로 개발자가되고 싶습니다.

관련 문제