문제

나는 찾았다 Wikipedia 항목 소프트 코딩에서 반포 스테인 간결하고 혼란스러워합니다. 그렇다면 소프트 코딩이란 무엇입니까? 어떤 설정에서 나쁜 연습 (반포 팬)은 무엇입니까? 또한 언제 유익한 것으로 간주 될 수 있으며, 그렇다면 어떻게 구현되어야합니까?

도움이 되었습니까?

해결책

짧은 답변 : 하드 코딩을 피하고 일부 몬스터 복잡한 추상화 층으로 끝나기 위해 극단으로 가면서 하드 코딩 된 값이 처음부터 존재했을 때보 다 더 나쁘다. 즉, 엔지니어링에 대한.

처럼:

SpecialFileClass file = new SpecialFileClass( 200 ); // hard coded

SpecialFileClass file = new SpecialFileClass( DBConfig.Start().GetConnection().LookupValue("MaxBufferSizeOfSpecialFile").GetValue());

다른 팁

의 요점 소프트 코딩에 관한 일일 WTF 기사 조기 최적화와 두려움 때문에 매우 잘 정의 된 시스템은 중복 된 지식이 변경되지 않고 필요없이 더 복잡해집니다.

명심해야 할 가장 중요한 것은 변경 사항이 실제로 시스템을 개선하고 방이 방지로 가볍게 레이블을 붙이고 반드시 피하는 것을 피하는 것입니다. 시스템을 구성하고 하드 코딩을 피하는 것은 시스템의 복제 된 지식에 대한 간단한 치료법입니다 (11 점 : "Dry Do n't Repeist 자신을 in" 실용적인 프로그래머 빠른 참조 가이드) 이것은 하드 코딩을 피하기위한 제안 뒤에 운전의 필요성입니다. 즉, 오류 메시지만큼 간단한 것을 변경 해야하는 경우 변경 해야하는 시스템 (코드 또는 구성)에 이상적으로 단 하나의 장소가 있어야합니다.

Ola, 소프트 코딩의 개념을 가진 실제 프로젝트의 좋은 예입니다. 장고 프로젝트. 그들의 settings.py 파일은 특정 데이터 설정을 추상화하여 코드에 포함시키는 대신 변경을 수행 할 수 있도록합니다. 필요한 경우 해당 파일에 값을 추가하고 필요한 경우 사용할 수도 있습니다.

http://docs.djangoproject.com/en/dev/topics/settings/

예시:

이것은 settings.py 파일의 스 니펫 일 수 있습니다.

num_rows = 20

그런 다음 파일 중 하나 내에서 해당 값에 액세스 할 수 있습니다.

from django.conf import settings
...

for x in xrange(settings.num_rows):
   ...

소프트 코딩의 궁극 :

const float pi = 3.1415; // Don't want to hardcode this everywhere in case we ever need to ship to Indiana.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top