어제 소스 이야기 하다가 하드코딩 이야기가 나왔는데.. 약간 내가 생각하는거랑 다른 느낌이었음.. 그래서 네이버에
찾아보니 예를 들기를.. html 만드는데 드림위버 같은 툴을 안쓰고 메모장에서 작업하는걸 하드코딩이라고 정의하는 글을 봄..
나는 이런 의미로 쓰거던..? 예를들어 가로:360 세로:480 해상도의 기기에서.. 가로 세로 100인 버튼을 정 중앙에 위치시킨다고
하면.. 이걸 수치로 박아버리는거지.. 가로 130 세로 190에 그리면 정 중앙에 그려지잖아.. 근데 이걸 해상도 가로 400 세로 240인
기기에서 보면 전혀 엉뚱한 곳에 위치하게 되는거지.. 차라리 (디바이스.getWidth()-button.getWidth())/2 를 가로값으로 주고
세로값도 저런식으로 하면 어떠한 해상도의 화면에서도 정 중앙에 위치하니까 다른 해상도의 기기를 개발할때도 if else도 줄일수
있고 추가로 손댈것도 없어지는... 이런식으로 뭔가 논리적인 로직을 거쳐서 수치를 뽑아내서 그 값을 넣어주는게 아닌.. 직접 그
수치를 때려박는걸 하드코딩이라 생각했는데. 그니까 넣을 값을 상수로 넣어주는 식..
이글은 내가 생각하는 하드코딩이고..
이거는 다른 정의..
느아에게 하드코딩이란 융통성 없이 고정적으로 알고리즘 및 인터페이스를 박아넣은 코딩을 ... 이라는건 뻘소리
임의로 만들어둔 데이터를 꼽아다쓸때 -> 이것도 상수와 같은 의미로 .. 어떤게 고정된 수치로 돌아가고.. 변경하려면 직접 코드를 바꿔줘야 하니 나랑 비슷한 생각 아님..?
횽이 생각하는 의미가 일반적인 하드코딩 의미가 맞음. 무슨 툴 안쓰고 메모장에 코딩하는게 하드코딩이라는건 첨듣네 ㅡㅡ;
차라리 메모장에 그냥 짜는건 날코딩에 가까울듯
변동 가능성 데이터를 현상황에 맞춰 대충 대충 일단 적용하고 보는거 ㅇㅇ
니 말이 맞지. 형이 잊지 않게 알려주께. 프로그램=로직+데이터 잖아? 여기서 데이터가 로직과 명확히 분리되어 있어서 니가 데이터를 바꿔야 할 필요가 있을 때 소스코드 손 안대고 데이터만 바꿀 수 있는 구조면 굳. 아니고 데이터가 로직에 박혀있어서 니가 소스코드 손대야 하면 하드코딩. 대표적인 하드코딩 피하는 방법이 컨피그 파일/디비테이블, 프로퍼티 파일, 커맨드라인 아규먼트 등이지. 인터넷에 돌아다니는 걸 다 맞다고 보면 큰일나지(헑, 이것도 인터넷, ㅋㅋ)
정보의 옳고 그름을 확인하는 것이 올바른 인터넷 생활입죠우 = ω=)r 나도 예전에 블로그에 올라온거 맹신했다가 그거 다 엉터리라서 고생만 했음.
참, 어제 니 예에서 루프돌면 되잖냐? 컨피그 파일에 파일 리스트 쫙 넣놓고 읽으면서 루프돌면 되는거지. 그거를 코드에서 파일이름의 숫자를 바꾸고 어쩌고 하면 바보되는 거임. 갓잇?
그 소스 그냥 냅둠.. 남의 짠거라.. 내가 막 바꿔버리면 기분 나쁠수도 있을거 같아서.. 블랙베리인데.. xml식의 셋팅파일로 리소스 관리하는건 잘 모르겠고.. 일단 이직한지 한달 좀 넘은놈이 기존 소스 막 바꿔버리면 기분 나쁘잖아 ㅡ_ㅡ.. 회사에서 따 당하기 싫다능
ㄴ 야 형이 생각하는 코더와 프로그래머의 차이가 뭔지 아냐? 코더는 비평없이 코드를 기계에서 돌아가게만 하는 자고, 프로그래머는 _자존심_을 버리고 냉정히 코드를 비판하거나 그런 비판을 받아들이며 자신과 동료와 코드와 기계를 계속 향상시키는 사람이다. 제대로 된 프로그래밍 회사면 개인적인 \"코드 오너쉽\"이 없고 집단적인 \"코드 오너쉽\"이 있어야지. 즉, 너의 잘못은 곧 나의 잘못으로 받아들여야 한다.
나도 그런 회사 분위기가 되면 좋겠음.. ㅠㅜ 형이 회사 차리면 그런 회사 분위기를 만들길
ㄴ ㅋㅋ 니네 회사는 각자 제품을 만드나 보구나. 제품의 평가는 제일 퀼리티가 낮은 코드에 의해 결정되는 거야. 니가 아무리 질 좋은 코드를 생산해도 니 동료가 지 파트를 똥으로 채우면 결국 제품은 똥.
ㄴ 빙고