내가 작업중인 레거시 코드는 클래스에 대해 숫자로 명명 된 21 개의 속성을 사용합니다. 세 가지 다른 것들 ("firstThing", "secondThing"및 "thirdThing "). 그래서 나는 firstThing1, firstThing2, ... 내 class의 firstThing7 속성을 가지고 있고 secondThing과 thirdThing도 마찬가지이다.arraylist에서 숫자로 명명 된 변수에 값 지정
코드의 모든 부분에서 해당 클래스의 객체가 사용되는 곳에서 코드 번호가 인 코드가 정확하게 복사됩니다., 올바른 숫자로 명명 된 속성을 사용합니다. 별로 좋지 않습니다.
전체 그림을 변경하고 클래스를 다시 디자인하는 대신 적어도 작업중인 함수를 변경하고 싶습니다. 중복 코드로 루프를 수행하고 이전에 할당 된 특정 ArrayList에 값을 추가하십시오. 이제 ArrayList에서 모든 값을 가져 와서 특정 숫자로 명명 된 속성에 할당하는 방법이 있는지 알고 싶습니다. 또는 differents ArrayList의 길이를 테스트하고 그 많은 수의 속성에 값을 할당하는 방법은 무엇입니까? 아니면 그냥 복사해야합니까?
if(listOfFirstThings.size() >= 1)
myObject.setFirstThing1(listOfFirstThings.get(0));
if(listOfFirstThings.size() >= 2)
myObject.setFirstThing2(listOfFirstThings.get(1));
...
21 회의 필요한 모든 작업을 할당 할 수 있습니까?
코드를 [Daily WTF] (http://thedailywtf.com/)로 보냈습니다. ? –