2009-02-07 2 views
5

내가 항상 좌절감을 느끼는 한 가지는 내가 사용하는 라이브러리가 더 이상 유지 관리되지 않을 때입니다. 업데이트 내역과 커뮤니티를 미리 살펴 보더라도 나중에 사용하고있는 버전이 마지막 버전인지 확인하기 위해 상황을 조사했습니다.사용하는 라이브러리가 더 이상 유지 관리되지 않으면 어떻게합니까?

일반적으로 몇 달이 지날 때까지 또는 일부 버그/제한 사항이 발견 될 때까지이 사실을 알지 못합니다. 새로운 버전의 인터프리터로 업그레이드하려는 욕구가 이전에 제대로 작동 한 라이브러리에 문제를 쉽게 도입 할 수 있기 때문에 파이썬으로 코딩 할 때 꽤 자주이 문제가 발생합니다. 내 질문은 :이 상황에 대한 최선의 대응은 무엇입니까?

  • 옛날 도서관의 관리자가 되었습니까? 비록 당신이 관심있는 버그 만 고치고있다해도 이것은 여전히 ​​많은 일입니다. 특히 라이브러리가 크고 복잡하며 문서화가 잘되어 있지 않은 코드가있는 경우 (대개는 그렇지 않은 경우).

  • 다른 라이브러리 (있는 경우)로 전환 하시겠습니까? 특히 중요한 대안이 다른 각도에서 문제에 접근 할 경우 새로운 버그를 도입 할 가능성이있는 중요한 사업이기도합니다. 이전 라이브러리의 기능에 대한 추상화 레이어를 작성하려는 선견지명이 있더라도 사실 일 수 있습니다.

  • 나만의 것으로 굴 렸니? 관심이있는 부분 만 작성하기 때문에 이전 라이브러리보다 적은 코드로 끝납니다. 따라서 향후 유지 관리가 더 쉽습니다. 그러나 이제는 덜 기능적 일 수있는 것을 생산하기 위해 일/주/월을 낭비했고 수많은 새로운 버그를 도입 할 수 있습니다. 소스는, 그것이 얼마나 유지 보수, 코드를 사용하는 방법을 많이의 코드가에 의존 얼마나 깊이, 등을 사용할 수 있는지 여부, 라이브러리의 크기 :

나는 대답은 특정한 경우에 따라 실현 나는 여러 가지 경우에 대한 해답을 찾고있다. 이 문제에 대한 귀하의 경험은 무엇입니까?

답변

10

글쎄, 당신은 외부 종속성의 수를 줄일 수있는 하나 개의 인수 ...

내가 감사 한 여러 자바 프로젝트에이 건너 한 것으로 나타났습니다; 사람들은 웹에서 어쩌면 재사용이 가능한 가장 작은 양의 항아리에 떨어지는 경향이있는 것 같습니다. 그 결과 코드 기반을 훼손시키는 의존성이 엉망이되었습니다. 나는 외부 구성 요소를 아껴서 사용하는 것을 선호합니다.

앞에 무엇을 할 수 있는지 물어 보는 것이 가장 좋습니다. 앞에 말하십시오. 외부 구성 요소를 사용하기 전에 수명주기를 평가하는 것이 중요합니다. 개발자 커뮤니티와 사용자 커뮤니티의 규모에 대한 연구를 수행하십시오. 또한 사용할 수있는 하나 또는 두 개의 "적은"대안을 가진 구성 요소를 사용하는 것을 선호합니다.

유혹에 빠져있는 뭔가가 있지만 프로젝트에 한 두 사람 만 참여하고 자신의 프로젝트를 훨씬 넘어서 사용하지 않는다면 관리자가 직접 롤업해야합니다. 구성 요소의

1

내가 선택한 고용주가 배웠던 Java EE 프레임 워크가 배가 갔을 때 우리는 나가서 더 새롭고 더 나은 것을 발견했습니다. 다행히 봄이 가능했습니다.

1

소스를 사용할 수 있고 라이센스가 열려 있고 라이브러리가 실제로 작업을 수행하면 라이브러리를 포크 할 수 있습니다. 이렇게하면 새 기능을 추가 할 수도 있습니다. 라이브러리에 수정해야 할 것이 많고 코드가 엉망인 경우 작업 할 다른 것을 찾는 것이 좋습니다.

2

당신의 진정한 대답은 어떻게 써드 파티 라이브러리를 선택하여 코드에 포함시킬 것인가입니다.

당신은 기본적으로 당신은 단지

이 사실 나는 것만 말까지 갈 것입니다 그들 뒤에 활성 커뮤니티가 라이브러리를 사용할 수있는 언어의 최신 버전으로 코드를 업그레이드 지속적으로 좋아하는 일 경우 제 3 자 오픈 소스 라이브러리를 사용하고자하는 시간은 커뮤니티의 규모가 크고 (최소 40 명이 넘는 사용자) 커뮤니티가 출시 될 때입니다.

상업용 라이브러리의 경우 동일한 회사에서 회사의 기간과 다른 클라이언트가 사용하는 기간이 동일합니다.

이 위치에서 라이브러리를 찾을 수없는 경우 나중에 타사 라이브러리를 추상화하여 대체가 어려워지지 않도록하십시오.

1

바로 그 이유로 우리 자신을 굴리는 것이 좋습니다. 우리는 그것을 완전히 제어 할 수있게되고, 그것이 어떻게 작동하는지에 대한 완전한 지식을 갖게되며, 우리가 원하는대로 그것을 변경할 수 있습니다. 비난 게임을 할 때 우리의 엉덩이가 줄에 서있을 때, 우리는 위험을 줄이고 스스로하는 편을 선호합니다.

우리는 외부 라이브러리를 사용한 상황을 한 번 겪었으며 작성자가 다시 작성하여 용도를 변경하여 더 이상 예상하지 못한 상황이 발생했습니다. 우리는 그것을 넘어서서, 우리들 자신의 버전을 썼고, 안전하게 계속되었다.

결론은 안전하며 위험을 최소화합니다.

관련 문제