답변:
계약자로서 30 년이 지난 후에는 혼합되어 있습니다.
모두 일회용입니다. 나는 수백 명의 고객과 일해 왔습니다. 코드를 다시는 볼 수 없습니다. 왜 첨부됩니까? 소유권 감각이 없습니다.
매우 잘 보입니다. 사내 코드보다 비싸므로 많은 조사가 필요합니다. 내가 그것을 유지하기 위해 주변에 없기 때문에, 그것은 매우 많은 조사를받습니다. 코드 연습과 핸드 오버는 매우 중요합니다. 장인 정신에 자부심이 있습니다. 그러나 소유권은 없습니다.
나의 기록은 17 년의 생산이다. 모든 종류의 유지 보수가 필요없는 그 해의 12 년.
전화를 받았기 때문에 알고 있습니다. 그들은 회계 시스템을 수정하고 몇 년 전에 내가 만든 영리한 비용 할당 알고리즘을 대체하는 방법을 알고 싶었습니다. 코드를 살펴본 결과 12 년 전 마지막 개선 이후 파일이 변경되지 않았습니다. (버그 수정이 아님, AFAIK)
내가 아는 바로 그 다음으로 가장 긴 기간은 7 년간의 완벽한 운영이었습니다. 그러나 Y2K에 심각한 문제가 있었으며 4 자리 연도의 파일 이름을 사용하기 위해 일부 재 작업이 필요했습니다. 내부 알고리즘은 모두 정확했지만 로그 파일이 잘못된 순서로 나타납니다.
다시 말하지만, 내가 마지막으로 릴리스 한 이후 파일이 수정되지 않았기 때문에 결함이 없다는 것을 알고 있습니다.
그렇습니다. 장인 정신에는 많은 자부심이 있습니다.
그러나 "소유권"은 없습니다. 내 코드가 아니라 코드입니다. 나는 단지 그것을 구축합니다.
자신을 위해 코드를 작성하면 그것에 대한 감정을 가질 여유가 있습니다. 비즈니스 용 코드를 작성하는 경우 가능할 때마다 해당 감정을 악의적으로 제거해야합니다. 나는 훌륭한 프로그래머가 코드에 감정적으로 다가 가서 슬픔을 일으키는 횟수를 셀 수 없다.
"나는 그것을 만들었지 만, 그것은 좋았지 만 내 것이 아니고 더 많이 만들 수 있습니다." 당신 이 그것을 믿는 다면, 열등한 제품에 대한 영업 담당자가 상사에게 점심을 먹여 보스에게 BJ를 주었기 때문에 6 개월의 삶이 쓸모 없게되면, 당신은 그를 미치게하여 직장을 잃지 않습니다.
그들이 당신을 지불한다는 것을 기억하십시오. 우리 모두는 멋진 일을하고 싶어하지만, 그들이 구멍을 파기 위해 돈을 내고 다시 채우면, 그 특권입니다. 난 그냥 다음 끔찍한 다음 기능 개월을 포함 개월 동안 웹 응용 프로그램, 쓴 상황이 있었다 더 원래의 상태로 코딩. SVN 저장소에서 뽑은 마지막 2 주 분의 "작업"은 새 버전 번호로 다시 커밋되었습니다. 그리고 난 괜찮아
나는 내가 쓰는 코드를 좋아한다. 나는 그들을 이해하고 다른 사람들도 그렇게 할 수 있도록 조정합니다. 사람들이 내게 다가와 "Dude, 우리는 여전히 우리를 위해 작성한 스크립트를 사용하고 있습니다. 매우 안정적이고 이식 가능합니다"라고 말하면서, 나는 그 자부심과 소유권의 느낌을 좋아합니다.
어디에서 끝날지 알 수 있다면 코드에 첨부되는 데 아무런 해가 없습니다. 즉, 모든 것이 사내이고 누가 또는 무엇을 프로그래밍하고 있는지 알고 있다면 실제로 얻는 것이 좋습니다. 첨부. Coz는 더 많은 광채를 만드는 것을 좋아할 것입니다.
반면에 코드가 클라이언트의 속성으로 끝날 경우 (@ S.Lott의 말을 반복 할 수 있음을 완전히 알고 있음), 감정을 이해하는 데 아무런 의미가 없습니다. 친구가 휴가를 갈 때 강아지를 돌보는 것과 같습니다. :-/
코드를 다시 보지 못할 수도있는 계약자 및 컨설턴트는 코드에 정서적으로 연결되는 이상적인 후보가 아닐 수 있습니다. 그것을 계속 "버려야"하는 것은 아마도 빈약 한 컨설턴트를 창의적 드라이브를 무너 뜨릴 것이다.
계약자가 아닌 직원의 관점에서 보면 모든 팀원이 작성한 코드와 생성 된 모든 것에 대해 소유권을 느끼기를 원합니다. 이 소유권과 자부심은 팀 전체로 확대되어야합니다. 자부심과 소유권을 느끼면 문제의 제품에 대한 애착이 생겨 팀 구성원의 업무에 의미와 감각이 추가됩니다. 나는 이것이 소규모 팀에서 대규모 팀으로 성능을 크게 향상시키는 것을 보았습니다.
피해야 할 것과 싫어하는 것은 그들이 작성한 특정 코드 줄에 감정적으로 붙어있는 것처럼 보이고 그것을 무덤에 지키는 사람들입니다. 그들은 변화를 원치 않으며, 변화 나 개선에 대한 아이디어를 내려다보고 거절하며 믿을만한 말로 정당화하려고 노력합니다. 이것이 내 경험으로 볼 때 자주 나타나는 것은 변화에 대한 두려움과 미지의 것에 대한 두려움입니다. 실제로 문제가되는 이전 코드 줄을 포기하지는 않습니다. 대신, 때로는 자신이 직접 작성하지 않은 새로운 무언가를 가져와야하며 실패하지 않을까 두려워합니다.
이런 종류의 "병에 걸린"코드 첨부는 내가 막기 위해 열심히 노력한 것입니다. 그러나 제품에 대한 "건강한"정서적 연결과 확장 된 서면 코드는 제가 권장하는 것입니다.
이것은 흥미로운 질문이며 위의 게시물 중 하나에 동의합니다. 예 및 아니요-그러나 다른 이유로.
코드에 첨부되어 있습니까? 분명하게 예입니다. 그러나 코드 자체가 아니라 전체 아키텍처 및 응용 프로그램 이라고 생각합니다 . 일반적으로 IDE를 작성하지 않는 한 재귀에 갇히지 않으면 비즈니스 사람들이 원하는 것을 실제로 코드에 포함시키기 전에 많은 도메인 특정 연구를 수행해야합니다.
반면에 : 코드베이스의 쓸모없는 부분을 버리는 것보다 내가 좋아하는 것은 많지 않습니다. 글쓰기가 아무리 어려워도 여행은 제품보다 훨씬 중요합니다 (적어도 자아에게는 물론 제품 자체도 작동해야 함).
소유권 감각이 있습니까? 프로젝트 상황에 따라 다릅니다. 코드를 다시 볼 수 없을 때 (프로젝트의 일부가 끝났고 계속 진행하고 있기 때문에) 왜 물건에 대해 낭만적입니까? 그러나 (어떤 방식 으로든) 계속 지원한다면 애착감이 좋습니다! 당신이 만들고있는 제품에 대해 관심을 가질 때, 기회는 매우 높습니다.
그래서 저는 제가 작성한 코드로 실용적인 "관계"를 채택하려고합니다.