요 근래 질문 글이 많이 올라옵니다.
답변도 많이 달리지요. 저도 부족하지만 아는만큼 열심히 도와드리려 하나 하루 지나면 글이 사라져 있더군요.
프로그래머 바쁩니다.
함수이름도 정해야 하고,
인자값 리턴값 주석도 달아야 하고,
변수명도 정해야 하고,
리턴타입 정하고,
인자값 최소로 받을까 고민하고,
객체지향 방식 디자인인가 고민하고,
인자값 범위 정해서 예외처리하고,
기타 불필요한 overhead 없는지 보고,
thread safe인가 deadlock 걸리지 않는지 트렌젝션 되있는지 체크하고,
public 으로 만들까 private으로 만들까 protected할까 virtual로 할까 나중에 상속할껀지 아니면 숨길껀지 생각하고,
{ } 쌍으로 잘 되있나 확인하고 ,
배열 인덱스 범위 안인가 확인하고 ,
인덴테이션 잘 되있나 확인하고 ,
유지보수에 용이한가 확인하고 ,
루프안에서 객체생성 하지 않나 확인하고 ,
주석은 잘 달려있나 확인하고 ,
if안에 컨디션은 잘 짜여있나 확인하고 ,
switch문에서 break 잘 잡혀있어서 다음 조건으로 밀리지 않나 확인하고,
if문이나 다른 괄호 닫고 바로 ;붙이지 않았나 확인하고 ,
메모리 해제 안한건 없나 확인하고 ,
디버깅중에 중간에 메모리 값이 어디서 바뀌었는지 일일이 break point걸어놓고 체크하고,
널 체크는 했나 확인하고 ,
읽어올때 바이트스트림 형식 맞나 체크하고,
스트링 인코딩 제대로 되있는지 확인하고 ,
구조체 serialize 할때 deserialize할때 구조체 정렬 때문에 어긋나지 않는지 확인하고 ,
오버플로우 나지 않게 충분히 할당했는지 확인하고 ,
변수 초기화는 해주었는지 확인하고 ,
변수 타입 제대로 설정했는지 확인하고 ,
dobule/float형 나눗셈 곱샘 했을때 값 제대로 들어오는지 확인하고 ,
include 제대로 했는지 확인하고,
dll버전 맞는지 체크하고,
sql injection 방어 제대로 하는지 , 들어오는 값들 escape했는지 확인하고, 각 스크립트 인코딩 맞춰서 태그 제거하는지 확인하고,
query에 인덱스 활용하는지 정규화는 하는건지 확인하고,
캐쉬 적중률 고려해서 쿼리도 디자인해야하고,
필요한 라이브러리 잘 읽어오고 호환 잘 되는지 보고 ,
구버전 IE에서 돌아가지 않는 호환성 일일이 잘 맞춰줘야 하고,
qa팀에서 버그 들어오면 체크해서 수정하고 ,
그전엔 다 체크해도 절대로 안보이다가 패치 다 만들고 배포 하고나서야 유저들한테 나오는 버그 수정하고,
그렇게 데이트 일정 미뤄지고 여자친구 한테 미안해서 전화도 하고 사과도 해야하고
그렇게 예상치 못하게 늦게 집에가서 11시쯤 컴퓨터 키고 친구들 다 잘떄 혼자 디아 고행1 정주행 해야 합니다.
그렇게 이렇게 야근이 기본인 바쁜 분들이 시간 쪼개서 답변을 해드렸는데 해결되자마자 쓱 지워버리시는건 정말 파렴치 한 일입니다.
그분들도 여러분들처럼 어려운 문제 있었지만 다들 끙끙 대면서 책을 보던 인터넷을 검색하든
구글님의 도움을 받든 stackoverflow를 뒤적거리든 어떻게 해서든 해결해오신 분들입니다.
바꿔말하면 여러분도 그렇게 할 수 있습니다.
그럴시간이 없어서 최소한 그분들의 지식을 얻으셨으면 다른 분들, 같은 고민을 하거나 후에 그 분야로 가실 일이 있는 분들을 위해서라도 질문글은 남겨두시는게 어떨런지요...