두 개의 필드 (소매 및 네트워크)에서 백분율을 계산 한 다음 그 백분율을 다른 필드 (마크 업)로 덤프하는 자바 스크립트가 있습니다.자바 스크립트 백분율 계산기 최적화
JS의 세계에 비교적 새로운 점으로 여러 행의 코드를 재사용하게되었습니다. 이것은 DRY 및 KISS 원칙에 어긋나며, 두 필드를 처리하고 세 번째 필드에 값을 덤프 할 수 있도록 코드를 최적화하는 방법에 대한 의견을 제공 할 수 있는지 궁금합니다.
다음은이를 사용하는 내 양식 세그먼트의 스크린 샷입니다. 여기
은 내가 사용하고 내 코드, 나는 그것을 네 번 재사용 예를 들어, 네 가지 기능에 코드를 삽입해야했다한다 (백분율 1, 백분율 2, 백분율 3, 백분율 4) 각 함수는 스크린 샷에 표시되는 일련의 필드를 처리합니다. 나는 그것이 잘못된 값을 제공 진수, 어떤 아이디어로 나눌 때function percentage1()
{
//the dividee
x = document.getElementById('tariff_data');
//the divider
y = document.getElementById('network_data');
//if the first value is lower than the second, append a "-" sign
if (x.value < y.value)
{
z = "-"+(x.value/y.value)*100;
document.getElementById('markup_data').value = z;
}
//not a negative percentage
else
{
z = (x.value/y.value)*100;
document.getElementById('markup_data').value = z;
}
}
function percentage2()
{
//the dividee
x = document.getElementById('tariff_rental');
//the divider
y = document.getElementById('network_rental');
//if the first value is lower than the second, append a "-" sign
if (x.value < y.value)
{
z = "-"+(x.value/y.value)*100;
document.getElementById('markup_rental').value = z;
}
//not a negative percentage
else
{
z = (x.value/y.value)*100;
document.getElementById('markup_data').value = z;
}
}
etc etc....
이 기능은 진수의 정확한 비율을 계산하기 위해 어떻게 HTML onchange를 속성 또한
를 사용하여 호출된다 ?
내 코드는 이상한 출력 밖으로 준다 : 오히려 최적화보다는
고마워, 내가 후배 PHP 개발자이지만, 나는 내 경력을 통해 앞으로 얼굴을해야 할 것입니다 자바 스크립트 느낌이 있습니다. – kaleeway
Crockford의 저서는 JS에 대한 도움을 줄 것입니다. 물론 DRY, KISS 및 Separation of Concerns를 코드에 적용해야합니다. 당신이 쓰는 언어에 상관없이 깨끗하고 읽기 쉽고 유지하기 쉬운 코드를 작성하려고합니다. –