@슬픈수님 오른쪽이 더 좋은 코드일 수 있죠. 다른 사람이 유지보수하려고 보았을 때, 왼쪽은 무슨 코드인지 잠시 생각해야하지만, 오른쪽은 0.1초만에 알 수 있으니까요.
성능도 for 루프 두번 도는 것보다 빠르고, 대략 20줄 정도까지는 그냥 늘려서 대응해도 되죠.
삼각형이 아니라 크리스마스 트리를 만들어 주세요. 도 할 수 있는건 덤이죠.
woogler
IP 223.♡.157.238
12-23
2021-12-23 13:31:39
·
두번째 코드가 보기 좋다고 하더라도 확장성이나 재사용성 측면에서 좋지 않은 거 아닐까요? 물론 문제 해결만 하면 되긴 한데 문제라는 것이 절대 변하지 않는다고 보기 어려우니까요. 귀찮음을 줄이려고 코딩한다는 측면에서 봤을 때 숫자만 바꾸면 더 큰 문제도 해결가능하다는 측면에서 첫번째 코드도 메리트가 있다고 봅니다.
Magincia
IP 203.♡.193.65
12-23
2021-12-23 13:37:57
·
@woogler님 저도 전문가라고 말할 수는 없지만... "내 코드"를 "버그없이" "주석이 필요없을 정도로 깔끔"하게 짜둔게 아니면... 사실상 재사용이 어렵지 않나요? reusable하게 만든다고 각종 configuration에 어디 숨어있는지도 모를 define문들 덕지덕지 있는 코드 받으면 그냥 하드코딩된 코드보다 훨씬 사용이 어렵죠. 아예 API로 제공하는게 아니면 말이죠.
@Magincia님 뭐 그렇긴 하겠지만 객체 지향 관점에서 봤을 때 처음 코드에서 4를 i로 바꿔놓고 이 코드는 이런 코드이다 이런 식으로 주석을 달아놓으면 나중에 써먹을 수 있다는 생각입니자. 두번째 코드는 그런게 아예 불가능하니까요... 저도 코딩으로 밥 벌어먹는 사람이 아니라 확언은 못하겠네요 ㅋㅋ
이프로부족
IP 112.♡.106.45
12-23
2021-12-23 15:41:42
·
@woogler님 그게 필요할때 바꾸면 되죠. 그런거 생각하고 왼쪽 처럼 짠 코드가 대부분 한곳에서만 쓰이는 경우가 많습니다.
"*\n"
"**\n"
"***\n"
"****\n"
"*****\n"
); 해도 되는걸로...
저희때 코딩이라 함은 알고리즘 다 만들어 놓고 하는 단순 타이핑을 말했거든요.
뭐 제가 그 업계에서 일하지 않으니 잘못 알고 있을수도 있지만요.
자조적인 게 있죠.
특히 웹 프로그래밍 시대가 열리면서 알고리즘 보다는 html생성 코딩 노가다 작업이 훨 많아져서...
코더라는 자조적 표현 나오기 시작한 게 2000년 무렵부터니까요. ㅎ
실제로 마이크로한 머신에서 루프문 풀어서 쓰기도 합니다. (컴파일러에서 지원을 못하는 경우)
int main()
{
int i = 5;
string s = "*";
for (int j = 0; j < i; j++) {
cout << s << "\n";
s = s + " *";
}
return 0;
}
사용자 오류는 못 고칩니다.
사용자가 숫자가 아닌 문자를 입력해서 나는 SegFault는 온전히 사용자의 몫입니다 ㅋㅋ
저 반복문 코드는 작동 구조를 훈련하는데 기반이 되는 코드이기 때문에.
초보 고수를 따질 문제가 아니라고 생각합니다. ^^;..
돈받고 일하면서 저런식으로 코딩해본 적이 단한번도 없어서요.
생각조차도 해본적이 없네요.
문득 신박한데? 라는 생각이 0.01초정도 들었다가
누가 소스라도 보면 으~*팔리겠다 라는 생각이.. ㅋㅋ
다른 사람이 유지보수하려고 보았을 때, 왼쪽은 무슨 코드인지 잠시 생각해야하지만, 오른쪽은 0.1초만에 알 수 있으니까요.
성능도 for 루프 두번 도는 것보다 빠르고, 대략 20줄 정도까지는 그냥 늘려서 대응해도 되죠.
삼각형이 아니라 크리스마스 트리를 만들어 주세요. 도 할 수 있는건 덤이죠.
그런거 생각하고 왼쪽 처럼 짠 코드가 대부분 한곳에서만 쓰이는 경우가 많습니다.
"이공계 공부를 할수록 유머 세포는 죽어가는가?" 라는 사회적 인식에 대한 주제로 논의가 필요한 시기 일지도 모릅니당. =ω=..