우리는 클라우드 응용 프로그램을 확장 하기 위한 관련된 코드를 평가 하는 방법의 많은 덮여 했습니다. 지금, 우리는 코딩 하 고 시스템 시간이 지남에 더 불안정 한 시스템을 만들 것을 위한 혁신적인 전략에서 찾고 있습니다. 겉보기 우리의 코드 내구성 향상을 위한 끝 없는 개발 요구 될 것입니다 우리의 장기 원활한 운영이이 시스템의 CRM 시스템에서 관찰 한 중요 한 부분입니다.
하지만 그 전에, 나는 그것을 만들 필요가 분명 내가 인용 사용법 및 용어 salesforce.com 환경에만 적용, 그래서 그들에 대해 많이 모르기 때문에 다른 응용 프로그램 및 플랫폼 프로토콜의 종류를 사용 하시기 바랍니다 생각 하지 않습니다 일부 웹 사이트에 대 한 킬러.
선언적 개발 및 프로그래밍 사이 찬 부 양론
클라우드 컴퓨팅 인프라 애플 리 케이 션 공급 업체 부르는 "선언적 개발", 쉽게 배우고, 명확 하 고 쉽게 SaaS 환경에서 제어 하기 때문에 선호 합니다. 대부분의 클라우드 컴퓨팅 응용 프로그램 개체에 대 한 무거운 정보 그룹 유효성 검사 규칙, 정보 그룹 및 목록 제약 조건 및 워크플로 가져올. 과거에이 이렇게가 되었습니다 매우 효과적 처리 능력과 기능의 놀라운 금액을 제공 하기 때문에.
하지만 문제가 나타나서 그것, 특히 만드는 코드를 새 레코드에 새로운 코드를 추가 해야 하는 경우. 새로운 트리거, 클래스, 또는 통합된 "듣기" 서비스를 개발할 때 코더 특정 개발 또는 샌드박스 환경에서 작동 하도록 가능성이 있으며 이러한 환경 구성 자체 생산 시스템을 일치 하지 않을 수 있습니다. 코드를 제품에 추가 될 때 다양 한 오류 조건을 등장 하는 경향이-그리고 종종 개발 환경에서 수정 될 수 없습니다. 불행히도, 오류 메시지는만 매우 사용자에 게 성가신, 그것은 제공할 수 없습니다 심지어 충분 한 단서 문제 해결.
팁의 첫 번째 집합:
1. 개발자와 프로덕션 환경 간의 구성 차이 대 한 두통에는 없습니다 있도록 새로 업데이트 된 "샌드 박스" 환경에서 개발 작업 한.
2. 가능한 경우, 최대화 통합 어댑터와 샌드 박스에서 다른 플러그인 개발자 특히 외부 소스 '매핑' 오류 상태에서에서 상태 변경의 결과 볼 수 있도록.
3. 일단 확장 및 개체에 대 한 기능 개발을 시작 하면, 모든 유효성 검사 규칙을 제거 하 고 우리 함정을 예상 하 고 오류 상태를 제어할 수 있도록 낮은 수준의 코드에 구현 해야 합니다.
4. 같은 목적을 위해 하위 수준 코드에 정보 그룹의 업데이트를 트리거하는 모든 워크플로 배포 해야 합니다.
5. 어려운 새 유효성 검사 규칙을 만들 수 있도록 관리 규칙 또는 정보 그룹 업데이트를 발생 시킬 수 있는 워크플로 만듭니다.
6. 되도록 코드 보호 정보 집합 또는 제약 조건 목록이 사전 값의 확인 도움이 될 것입니다 어려운 문제를 피하는 것이 중요 하다.
7. 각 정보 그룹은 NULL 이며 각 설정, 목록 또는 지도 비어 있는지 확인을 선택 하 여 다음 논리적 관계 (예, 모든 오류 검사 논리 관계에도)에 그것을 사용 하 여 시도할 수 있습니다.
8. "클라우드 컴퓨팅 처리 오류" 항목의 앞부분에서 언급 한 대로 모든 응용 프로그램 오류 및 송신 메시지는 중앙화 된 오류 로깅 서비스를 그들이 클라우드 컴퓨팅의 실시간 숙달을 위한 클래스를 작성 합니다.
가능한 만큼 많이 목록에 초점
여러분 모두 아시다시피, 아니에요 트리거에 클래스에 하드 코드 값 하는 것이 좋습니다 그래서 우리 적어도 각 모듈의 선언 섹션에 이러한 매개 변수를 배포 해야 합니다. 또는 추가, 조회 목록 또는 리소스 파일에 이러한 변수를 이동 하 고, 때마다 코드가 실행 됩니다.
데이터베이스는 더 많은 되 고 있지만 표준화 하 고 거의 다 수 추가 조회 목록에이 접근은 여전히 다소 추상적이 고 광범위 한. 포인터 지침의 과도 한 추구 어렵게 이해 하 고, 원래 개발자 이외의 사람에 대 한 (심지어는 주지사도 클라우드 환경에서) 느리게 실행 응용 프로그램을 발생할 수 있습니다. 그래서 다음 팁 될 매우 중요 한:
9. 조회 목록 (선택 목록 할당, 허용된 상태 또는 구성 옵션, 등) 같은 구성 매개 변수를 추가 하십시오. 각 조회 목록에 주석 줄을 포함 하 고 다른 행동, 의미를 이해 하는 코멘트를 읽을 수 있고 목록 및 값의 레코드를 업데이트를 확인 해야 합니다. 클라우드 시스템에서 지 원하는 경우 디스크 읽기에 의해 또한 메모리 (' 사용자 정의 설정')을 피하기 위해 발생 하는 높은 대기 시간에에서 리스트를 저장 해야 합니다.
10. 이러한 조회 목록을 구성 제어에서 배치 하십시오. 최소한 잠금 액세스 동작 하 고 목록을 정기적으로 백업 되었는지 확인 합니다.
11. 마라 이름 목록 및 정보에 대 한 게으른 그룹--용이성의 순간 종종 문제가 발생할 수 있습니다 당신은 큰 문제를 해결.
클라우드는 민첩, XP, 또는 TDD 컴퓨팅 (즉, 시간 듀플렉스) 코딩 스타일의 유형
나 큰 모듈, 폭포 개발 또는 중첩/분기 콘텐츠를 많이 제외 하는 클라우드 환경에 대해 많이 모르지만이 예를 가끔 발생 한다. 하지만 한번에,에 대 한 우리 폐기 해야 합니다이 연습, 그것은 강한, 튼튼한 코드를 구축 하는 데 도움이 있기 때문에.
12. 개체는 UI에 대 한 그냥 되지 않습니다. 그들은 이해, 기억, 그리고 코드 리팩토링을 지원 하기 위해 존재 한다. 하지만 바보; 이해에 대 한 개체의 지원을 모두에 대 한 이해 없이 다른 모든 혜택 사라질 것 이다 전제는 하지 않습니다.
13. 모듈은 작은, 간단 하 고 분리 하는 것을 확인 합니다. 테스트 및 튜닝 작업 쉽게 KISSS 원리의 주의 깊은 독서도 하게된다.
환자 수, 플랫폼의 한계에 초점을 하지 마십시오
클라우드 컴퓨팅 플랫폼 제공 실행, 데이터베이스 쿼리 또는 메모리 목록 만들기 등의 특정 종류를 제한 합니다. 그래서 처음으로 기능성 제품을 개발 하는 경우 귀하의 첫 번째 릴리스 리소스 표시기도 50%를 초과 하지 않는 확인 해야 합니다. 때문에 하지 그리 오래 전 것 이다 필연적으로 얼굴 새로운 요구와 긴급 대책, 큰 자원 소비로 이어질 것입니다.
14. 메모리 캐시에 데이터 (예: 'bulkification' 및 ' 동적 SQL ') 가능한 한 많은 데이터베이스 대신 모든 시간 사용. 미래 활용 및 큰 작업량 및 데이터 집합을 처리 하기 위해 일괄 처리 클래스를 가져가 라.
15. 당신은 어떤 하드 디자인 이유 없다면, 우리의 테스트 코드 코드 검사 요금의 100%를 가져옵니다 확인 해야 합니다. 유휴 상태 코드에 대 한 훈련을 하 고, 대신 실제로 논리적 결과 (포지티브 및 네거티브 테스트를 통해 반복된 유효성 검사)를 테스트 해야 합니다. 또한, 통계 데이터의 범위를 인위적으로 인상 되므로 코드에 없는 작업 상태를 넣지 마십시오.