또는
으아아아이 두 코드 중 어느 것이 더 나은지... 둘 다 꽤 쓰레기이지만 어떻게 처리하는지 봅시다
함수는 왜 한 가지만 할 수 있나요? 확장성? 재사용 성? 제 생각에는 함수를 선언하는 것은 비용이 들지 않습니다. 함수는 직접적인 분석 없이는 메모리 공간만 차지할 뿐입니다~
재사용 및 확장을 위한 것이라면 처음 작성할 때 미리 최적화하는 것이 아닌가요? 미래의 요구 사항을 결정할 수는 없나요? 보니까 확실히 최고의 퍼포먼스 연습은 아니네요~
초기/전환 최적화가 만악의 근원 아닌가요? ~
typecho2017-07-05 11:07:16
수업의 경우 변경 이유는 단 하나여야 합니다. JavaScript에서는 클래스를 사용해야 하는 시나리오가 그리 많지 않습니다. 단일 책임 원칙은 개체나 메서드 수준에서 더 자주 적용되므로 이 섹션에서는 대부분 개체와 메서드를 기반으로 설명합니다.
단일 책임 원칙(SRP)에서는 책임을 '변화의 원인'으로 정의합니다. 메서드를 재정의하려는 두 가지 동기가 있는 경우 이 메서드에는 두 가지 책임이 있습니다. 각 책임은 변화의 축입니다. 메서드가 너무 많은 책임을 맡을수록 요구 사항이 변경됨에 따라 이 메서드를 다시 작성해야 할 가능성이 커집니다.
이때, 이 방법은 대개 불안정한 방법이고, 코드를 수정하는 것은 항상 위험한 일입니다. 특히 두 가지 책임이 결합된 경우, 한 가지 책임의 변경이 다른 책임의 구현에 영향을 미쳐 예상치 못한 피해를 초래할 수 있습니다.
이러한 결합은 응집력이 낮고 디자인이 깨지기 쉽습니다.
따라서 SRP 원칙은 다음과 같이 구현됩니다. 객체(메서드)는 한 가지 작업만 수행합니다.
怪我咯2017-07-05 11:07:16
개인적인 의견을 말씀드리자면, 프로그램은 사람들이 읽기 위한 것입니다. 기능이 복잡할수록 읽는 데 드는 비용도 높아집니다. 프로그램을 작성하더라도 몇 달이 지나면 그 의미를 이해하는 데 시간이 걸릴 수 있으며, 다른 사람이 귀하의 코드를 넘겨받을 수도 있다는 점은 말할 것도 없습니다.
먼저 프로그램을 이해시킨 후 달리기 성능의 최적화에 대해 이야기하세요
代言2017-07-05 11:07:16
코드를 짧은 시간 동안만 사용해야 하고, 나중에 반복할 필요도 없고, 다른 동료에게 제공할 필요도 없고, 단위 테스트도 필요하지 않다면 그냥 아무렇게나 작성하고 기능을 구현하세요.
다른 동료가 코드를 호출해야 하는 경우 반복, 확장 및 단위 테스트를 수행해야 합니다. 그렇다면 사양을 따르십시오. 성능은 코드 형식에 따라 결정되지 않습니다.
가장 간단한 방법은 한 달 후에 코드를 살펴보고 읽기, 유지 관리, 확장이 어렵다면 리팩토링하는 것입니다.
滿天的星座2017-07-05 11:07:16
한 가지 일만 하는 함수가 더 좋은 것 같아요... 이런 은밀한 기능이 여기저기 부작용을 퍼뜨릴지 누가 알겠습니까...
한 가지 일만 하고 최종적으로 묶어서 사용하는 것이 낫습니다.
또한 성능에는 큰 차이가 없다고 생각합니다. 아마도 한 가지 기능만 수행하면 성능이 더 좋을 것 같습니다.
두 번째 부분에 비해 첫 번째 코드 부분의 한 가지 분명한 특징은 각 함수의 평균 줄 수가 적고 두 번째 부분의 평균 줄 수가 더 많다는 것입니다.
짧은 코드를 유지하고 작성하는데 드는 정신적 부담이 상대적으로 적기 때문에 유지관리와 작성의 효율성이 높습니다
한 가지만 한다는 것은 이 함수가 이 작업을 완료할 수만 있으면 된다는 의미이며, 다른 알고리즘으로 구현된 이 함수의 복사본으로 쉽게 직접 대체할 수 있습니다.
짧고 간결한 작은 함수를 많이 작성하기 때문에 조립하는 동안 추상화 수준이 높아져 생각하기에 더 적합합니다.
재사용 및 확장을 위한 것이라면 처음 작성할 때 이렇게 하는 것은 정말 사전 최적화 아닌가요?
재사용과 확장은 절대 안 됩니다提前优化
, 반대로 이 두 가지에 더 주의를 기울여야 합니다
習慣沉默2017-07-05 11:07:16
당신 말이 맞아요. 가독성, 확장성 및 재사용을 위한 것입니다. 가장 중요한 것은 가독성/유지보수성입니다. 여러 작업을 수행하는 함수의 이름을 지정할 수도 없고, 다른 사람이 이해하도록 할 수도 없습니다.
성급한 최적화는 "함수가 메모리의 일부 공간을 차지합니다."입니다.