나는 어떻게 계획하는 엔터프라이즈 수준의 웹 응용 프로그램?
-
01-07-2019 - |
문제
나는 점에서 프리랜서 경력이를 발전시켜 나가고 있습니다 여러 웹 응용 프로그램를 위한 소규모에서 중간 규모의 기업을 지원하는 것과 같은 프로젝트 관리,예약/예약 및 이메일을 관리합니다.
나는 다음과 같은 작동하지만 찾는 것이 결국 내 응용 프로그램을 얻는 우연히 유지보수가 매우 높습니다.다시 봐 코드를 썼는데 6 개월 전에 발견 나를 보내는 동안 그냥 재 어떻게 내가 원래 코드기 전에 내가 만들 수 있는 복구 또는 기능을 추가 사항입니다.내가 하려고 연습을 사용하여 프레임워크(용 Zend Framework 기 전에,그리고 고려한 장고한 다음 프로젝트)
What 기술 또는 전략을 사용 할 계획 응용 프로그램을 처리할 수 있는 사용자의 많은 파괴하지 않고 여전히 코드를 유지하기 위하여 충분히 청결을 유지한다.사람은 어떤 책이나 기사들을 추천할 수 있었는 것이 크게 감사합니다.
해결책
이 있지만 확실히 좋은 기사에서는 항목에서는,그들 중 아무도 대체의 실제 경험이다.
유지 관리가 아무것을 계획할 수 있습니다 똑바로를 제외하고,매우 작은 프로젝트입니다.그것은 무언가를 당신의 처리에 필요는 동안 전체 프로젝트입니다.사실,만의 클래스 및 인프라 코드를 사전에 생산할 수 있는 코드를 더욱 이해하기보다는 순진한 스파게티 코드입니다.
그래서 내가 조언을 정 귀하의 기존 프로젝트, 에 의하여,지속적으로 refactoring 니다.에서 보는 고통이었다면,변화하고 위해 노력하는 간단하는 솔루션은 더 쉽게 이해하고 조정할 수 있습니다.코드가도 너무 나쁜 것,다시 쓸 것을 고려해보십시오 그것은 처음부터.
하지 않는 새로운 프로젝트를 시작하고 그들을 기대하여,성공하기 때문에 자세한 내용을 문서 또는 사용한 새로운 framework.신을 식별하고,실패의 기존 프로젝트 및 수정 정 문제입니다.당신이 필요할 때마다 변경 코드는 방법을 스스로에게 물어를 구조 조정은 그것을 지원하는 비슷한 변화는 미래입니다.이것은 당신이 필요하기 때문에 어쨌든있다 이 비슷할 변화에서 미래입니다.
을 수행하여 그 리팩터링 당신은 우연히 발견한 다양한 특정 질문 요청할 수 있습니다 기사를 읽고 한다.는 방법으로 당신은 더 많은 것을 배울 수 있습니다 단지 묻는 일반적인 질문과 독서 일반 기사에 대해 유지 관리하고 프레임워크.
청소 시작하는 코드 오늘.연기하지 마십시오 그것을 당신의 미래의 프로젝트이다.
(동일한 사실에 대한 문서입니다.모든 사람의 첫 번째 문서 매우 나쁘다.몇 달 후 그들은 너무 자세한 정보 가득으로 중요하지 않은 물건입니다.그래서 문서를 보완 솔루션을 문제가 당신 말 했기 때문에 기회는 다음해 당신에 직면하게 될 것과 유사한 문제입니다.그 경험이 개선 작문 스타일을 보다 더 많은"어떻게 쓰기에 좋은"스타일로 안내합니다.)
다른 팁
나는 정직하게 보는 것이 좋습니다에서 마틴 마틴 파울러 패턴 기업의 애플리케이션 아키텍처.그것에 대해 설명하는 방법을 많이 응용 프로그램을 만들이 더 조직하고 유지 관리할 수 있습니다.또한,내가 사용하는 것이 좋습니다 것이 유닛 테스트를 당신의 더 나은 이해 당신의 코드입니다.켄트 벡의 책에 Test Driven Development 훌륭한 리소스에 대한 방법을 배우 주소를 변경하는 코드를 통해 단위 테스트를 확인할 수 있습니다
을 개선의 유지 관리할 수 있다:
는 경우 단독 개발자는 다음을 채택한 코드 스타일입니다.십시요 너에게 신뢰를 줄 것이 나중에을 통해 탐색 할 때 당신의 자신의 코드에 대해할 수 있는 것이 가능하게 할 것 당신이 절대적으로지 않을 것이다.자신감있는 보기 위하여 어디에이고 무엇을 찾기 위해 무엇을 찾기 위해 저장할 것이다 많은 시간이다.
항상 가지고 가는 시간을 가져올 문서 최신 상태입니다.포함하는 작업으로 발전 계획을 포함하는 시간으로 계획의 일부로의 변경 또는 새로운 기능이 있습니다.
계속 설명서의 균형 잡힌:일부는 높은 수준의 다이어그램,의미 있는 의견을.최고의 의견을 말해서 읽을 수 없는 코드 자체입니다.같은 사업을 이유로 또는"이유"뒤에 특정 덩어리의 코드입니다.
포함한 계획으로 유지하는 노력을 코드 구조,폴더 이름,네임스페이스,object,변수하고 일상적인 이름이 최고의 반사됩니다.이 먼 길을 갈 것입을 개선에 관리할 수 있습니다.항상 호출 스페이드"스페이드".피 큰 덩어리의 코드 구조가 그것에 의 의미 내에서 사용 가능한 언어 선택의 제공,덩어리로 의미있는 이름입니다.
낮은 연결 및 고 coherency.는지 확인 당신과 함께 최신의 기술을 달성하는 이들:디자인 계약에 의해성 주입,측면은 디자인 패턴 등입니다.
에서 작업 관리의 관점을 예측해야 한다고 합 더 많은 시간과 높은 평가에 대한 비연속적인 조각의 작동합니다.주저하지 말고 고객이 알고 있는 것을 할 시간이 작은 아닌 지속적인 변화 확산 반대로 시간이 지남에 따라 더 큰 지속적인 프로젝트 및 지속적인 유지보수 이후 관리 및 분석 오버헤드 크(관리해야 하고 분석하는 각 변경을 포함한 영향에 기존 시스템 별도).이점 중 하나의 고객을 얻은 큰의 평균 수명 시스템입니다.다른 정확한 문서를 보존하는 것이며 그들의 옵션을 추구하는 다른 사람의 도움이야 그들은 결정을 할 수니다.모두 고객의 투자와가 강한 판매하는 점이다.
소스 제어를 사용하지 않으면 당신은 이미
유지에 대한 자세한 로그의 모든 것을 고객을 위한 더 중요한 통신(간단한 컴퓨터 또는 종이 기반의 CMS).당신의 기억을 하기 전에 각 할당합니다.
계속 로그의 문제가 열려,아이디어 제안,고객;다시 당신의 기억을 새로 시작하기 전에 할당합니다.
미리 계획하는 방법 게시-구현을 지원 될 것입니다 실시하고,토론하 고객의 의견을 들어보았습니다.의 시스템은 유지하기 쉽습니다.에 대한 계획 parameterisation,모니터링 도구에서 빌드 정신을 확인합니다.판매 post-구현을 지원하여 고객의 일환으로 초기 계약입니다.
확장을 고용하여도,당신이 누군가를 필요로하는 경우를 제공하기 위해 해당 게시물-구현을 지원 하는 관리자 비트입니다.
추천 도서:
에 아무것도 디자인 패턴 가 포함되어 있으로 목록을 것이 권장된다.
가장 중요한 조언을 줄 수 있는 성장 도움이 된 웹 응용 프로그램으로 매우 높은 사용할 수 있는,높은 수요한 웹 응용 프로그램은 캡슐화 모든 것입니다. -정
- 사용 좋은 MVC 원리와 프레임워크를 분리 보기 레이어에서 비즈니스 로직과 데이터 모델을 제공합니다.
- 사용 견고한 의견을 더욱 쉽게 확인할 수 있게 층하지 않는 부부의 비즈니스 로직의 데이터 모델
- 계획을 위해 무국적자 및 비동기합니다.
여기에는 훌륭한 문서에는 방법이 베이 이러한 문제를 다룹 http://www.infoq.com/articles/ebay-scalability-best-practices
프레임 워크를 사용/MVC 시스템입니다.더 많은 조직과 중앙의 코드입니다.
을 사용하여 시험 Memcache.PHP 장에서 확장,그것은 대를 설정하고 다른 스물을 넣어서 응용 프로그램입니다.캐시할 수 있습니다 당신이 무엇을 원하다-나 캐시 내 모든 데이터베이스 기록에 그것을 위해 모든 응용 프로그램.그것은 방황.
내가 사용하는 것이 좋습니다 것이 원본을 제어 시스템 등과 같은 파괴하는 경우 당신은 이미 수 없습니다.
고려해야 합 어쩌면 사용하여 SharePoint.그것은 환경은 이미 설계를 할 모든 당신이 언급했고,많은 다른 기능은 당신이 어쩌면 생각해본 적이 없다(그러나 어쩌면 당신은 미래에 필요한 것입니다:-))
기's 몇 가지 정보를 공식 사이트에서.
거기에는 2 개의 다른 SharePoint 환경에서 사용할 수 있습니다.:Windows Sharepoint 서비스(WSS)또는 Microsoft Office Sharepoint Server(MOSS).WSS 은 무료이며 선박으로 윈도우 서버 2003 하는 동안,이끼를 무료로하지 않습니다,하지만 훨씬 더 많은 기능 및 거의 모든 당신은 기업의 필요합니다.