소프트웨어 엔지니어로 서, 지난 몇 년 동안 웹 개발에 전념 했습니다. 혁신적인 기업, 속도 시간, 돈, 그리고 모든 개발을 빠르게 만드는 더 많은 엔지니어 들에 게 돈을 저장 합니다. 학교는 많은 "소프트웨어 공학" 방법, 또는 좋은 프로그래머가 될 방법을 치지 않는다. 이러한 것 들 대만 업계에 존재 하지 않는, 우리는 사이드 터치 하 고, 경험에서 배울. 내가 배운 많은 책과 팀을 더 생산 하 게 하는 방법에 대 한 인터넷에서 먼저 업계 신속 하 고 그것은 가능한 한 빨리으로 인식 하는 방식으로 새로운 팀에 그것을 할 필요가 있다고 생각 하기 때문에. 여기에 내 경험의 공유가입니다.
1. 하자 팀 전체 사용 성숙한 개발 프레임 워크 및 환경:
내 전공은 레일에 루비. PHP를 사용 하는 경우 추천 합니다. 기본 설정 없어 또는. NET 또는 자바, 비용에 새로운 프레임 워크를 가져와야 합니다. 처럼 정말 열심히 스칼라 또는 node.js를 가져오려는 같은 하지 않습니다. 그들은 어디에 사용 되는, 하지만 그들은 주제를 해서는 안 장소에 추가할 수 있습니다. 진실은 간단 하다, 그들은 시작 하 고 바퀴를 재발견 하지 모든 멤버에 대 한 충분히 익은 생각 하지 않습니다.
일반 팀 PHP를 사용 하 여 좋아한다. PHP 엔지니어 쉽게 찾을 수 있기 때문에, 레일 엔지니어 찾고 되지 않습니다. 하지만 내가 경험 내려 걸어, 그것은 "거짓 명제" 생각. 인간 시장 및 회사의 실제 운영,이 법안을 찾을 것입니다 있기 때문에 매우 안정적입니다. 네, PHP 엔지니어를 찾고 있습니다 하지만 미안 해요, 많은 사람들이 쓰기 코드는 사용 되지 않습니다 (더 정확 하 게 쓰기만은) 대부분의. (나는 PHP 개발자를 불쾌 하 게 의미 하지 않는다)
PHP의 개발은 일관성의 규칙을 너무 많이, 기본적으로 작성 하는 방법 사랑 작성 하는 방법. 경우에 매우 강력한 개발자 팀에서 유용성의 부족을이 끈다. 때문에 모두 코딩 스타일, 그리고 다른 사이트의 구조를도 동일 하지 않습니다. 보수 사람들 폭발 및 저자만 거의 복구할 수 있는 경우에 역할을 추가 하 고, 작성할 수 있습니다만, 자신의 플레이 하는 방법은 거의 없습니다.
이것은 내 눈에서 싸움 하는 팀의 큰 낭비 이다.
레일이 이런 상황? 이것이 어디 나 레일 장점의 찾을 (만 대만 처럼 그 뜨거운 느끼지 수 있습니다)에서 매우 인기 있는 프레임 워크입니다. 이것은 프레임 워크, 즉, 그것은의 때문에 자체는 강한 바인딩, 적어도 MVC와 라우팅 규칙, 일반적으로, 초보자 너무 어이 없는 경우에. 코드를 작성 하기 위한 몇 가지 무언된 규칙이 있다.
아무것도 개발에서 되 면, 개발자는 고원, 수리 완료의 모든 가능한 원인의 찾을 거의 구글을 사용할 수 있습니다. 이건 거의 일반 그리고 자체 내장된 프레임 워크 비교 될 수 있다 장소, 회사, 기본적으로 어떤 문제에 대 한 프레임 워크를 구축 하 고 마지막으로 거의 건축가의 원래 디자인을 귀찮게 하는 경우. (이것은 또한 돈 낭비 건축가 급여는 매우 비싼 때문에)입니다.
학습 곡선 너무 높습니다, 그리고 그것은 정말 존재 생각 하지 않습니다. 레일 프로 하드를 찾을, 하지만 낮은 손으로 레일의 생산성 놀랍습니다, 그들은 제대로 훈련으로. 그래서 만큼 방법에 초점을 시작 하는 일반 수 있도록, 신속 하 게 극복할 수 임계값의 항목 (개발 처리 환경, 편안한, 플러그인, 디버깅, 배포), 나머지 교재 인터넷에 의존 하 고 훈련을 전투 수 있습니다. 레일 101를 발명 하는 이유입니다.
나는 교과서 기본 리눅스 지침, Git, 레일, 지식의 모든 기초, 부서, Scss 쓰기, 및 새로운 웹 사이트 기능을 개발 하기 위해 우리와 함께 전장에가 서 1 개월 이내에, 배우 긴 2 주에 모든 새로운 개발자를 얻을 수의이 세트를 설계. 이것은 매우 극적인 진행? 아니, 과장입니다. 여기에 모든 개발자가이 수준, 그리고 그들 중 일부는 레일에서 쓸 수 있게 되지 않습니다. 당신은 그를 믿을 수는 오후에도 예술 T 상태 그들은 레일을 쓸 수 있습니다? (농담)
어떻게 코드 규칙을 작성 합니까? 내 동료와 나는 지역 사회에서 모범 사례를 많이 흡수 하 고 우리 초보자 가이드, 최상의 심지어 보석 및 발전기에 그들을 밖으로 정렬 했습니다와 고급 개발자 노인, 따라잡을 수 있을 것 이다 짧은 시간에 그들의 작업 우수 사례의 선행으로 고급 수 있습니다. 나도 봤는데 초보자를 위한 필수 레일 최근 예약 다른 쓰기
레일 자체 생태계, 많이 있으며 기본 아키텍처 모범 사례는 언급 하지 않기 위하여.
새로운 팀 리소스는 몇 가지, 직원 예산이 그렇게 충분 하지 않습니다 하지만 독창적인 천연 자원의 사용 및 힘 전투 그룹 * 3.
2. 현재 사용에 대 한 디자인 기능, 어느 정도의 확장성을 고려:
내가 믿지 않는 새로운 팀에서 누구 미래를 예측할 수 있는 많은 것 나중에 그 방향으로 확장 하는 경우에. 나를 위해, 난 하지 않습니다 디자인 기능에 지나친, 심지어 내가 동료 지나친 금지. 프로젝트에서 가장 높은 고원 이므로, 할 것 들을 얻을.
그러나이 어느 정도의 확장, 내부 워크플로 디자인에 머물 필요가 있다 일반적으로 마지막 공간을 청소를 리팩터링을 의미 하지는 않습니다. 이 시점에서 동료 지저분한 코드를 넣어 것입니다, 그리고 다시 원래 규칙을 작성 해야 합니다. 이것이 일반적인 기능, 그것은 해야 합니다 정렬 라이브러리 또는 스키마 패턴으로 반복. 패턴 하지만, 확장은 남아 있습니다.
새 프로젝트 후 이전 경우 하 고 반복 해 서 사용할 수 있습니다. 심지어 마지막으로 이벤트 생성기이 이런 일가지고... (인증, 레일 관리자, 서재응, 등).
3. 프로그램 자체 등록
일반적으로, 소프트웨어 연습 자체 솔루션을 쓰고 찬성 아니다. 하지만 프로그램 자체 그것의 자신의 행동을 표현할 수 있을 것이 좋습니다. 만약 사람들이 이해할 수 없는 지저분한 프로그램 작성, 검토에 될 것입니다 다시 투이. 우리 팀으로 허용 될 수 있는 프로그램 작성, 어 색 하지만 모든 동료는 그것을 읽을 수 있습니다. 때문에 서투른 이해할 수 있지만, 다른 선배는 리팩터링을 시간. 하지만 아무도, 쓰기 후 이동할 수 있습니다.
4. 모든 문서 기록 하려고
세계에서 아무도 진짜로 무슨 시스템에 오늘 자세히 설명 하는 완벽 한 시스템 아키텍처 책을 쓸 수 있습니다. 하지만 좋은 문제 추적 시스템 및 쓰기 커밋 로그 왜 시스템 지금 그렇게 하도록 설계 되었습니다 그리고 프로그램 설계 했다 결정 되었다 왜 이해 하는 데 도움이 수 있습니다.
새로운 훈련 기간 동안 나는 보통 티켓에 모든 세부 정보 및 상태 세부의 습관을가지고 새로운 신병 훈련. 전체 프로젝트 또는 기술 아키텍처의 프로토 타입을 완료 하는 동안 이러한 티켓에 메모.
이 팀의 도약의 범위에 아주 강한 긍정적인 영향을 미칠 것 이다. 동시에 때 사람들이 흐름 (신규 또는 종료 충격 됩니다 아주 아주 작은.)
적어도이 부분에서 "기본" 교육 비용의 많은 것 때문에 거의 0. 시작의 연습을 통해 모든 방법을 매우 일찍 한 가지를 이해, 사람들의 흐름이 거의 불가피 하다, 그래서 사람들의 영향을 덜 흐름을 확인 하는 것이 중요 하다.
그것은 또한 동료 벤처에 대 한 새로운 기술에 투자 하는 비용이입니다. 따라서, 배우고, 우리 모두가 해야 합니다 싶은 경우 수, 그렇지 않으면 그것은 항상 매우 비쌀 것 이다.
이 문서를 가져올 수 있는 값입니다.
5. 테스트 환경 및 정책
내가 비싼 수업에서 배운은 테스트 환경 및 정책 되어야 합니다. 그것은 레일에 환경 여러 조각으로 잘라 어렵다입니다. 그리고 모두 다른 환경, 그들의 자신의 컴퓨터에 현재 초점에서을 개발 하기 때문에 테스트 환경 (준비) 해야 많은 디자인을 고려 하지 않습니다 너무 많은. 알다시피 대형 폭파 하는 또는 원격 서버를 떠날 때 성능이 매우 나쁘다. 그것은 모든에 대 한 비즈니스 신용을 해치는 또는 (말 말을 하는지 고객에 게 광고의 수천 수백 내일 파일, 하지만 내일에 대 한 인간의 오류로 인해) 거래를 속이 고, 누가 하고자 그에 게 큐를 이동? 누가 당신과 함께 사업을 하 고 싶어?
정책에 관해서는 더 중요 하다.
초과의 많은 실제로 필요 하지 않습니다. 예를 들어 마음 술 이면 쓴 나쁜 코드 커밋. 하 네가 깨어났을 때 진흙을 청소 하십시오. 전에 먹고 또는 작업 코드의 최신 버전을 배포 하기 전에 몇 시간 동안 정오 다시 역의 결과 원 벤 수 작업, 10 포인트 이동 되지 것입니다.
하지만 직접 마스터를 투입 않으며 즉시 배포 RD 매우가 려워 하 게 쓰기 좋은 것. 난이 질병을 생존자를 수 없습니다.
그러나 상업 웹 사이트 불 모든 방법, 팀 또는 전반적인 상황을 방어 하는 사람이 아니다. 그래서 결국, 우리는이 규칙을 구현 하는:
기능에 기능을 작성
선 전에 스테이징 서버를 사용 하 여, 라운드 테스트 기능 분기를 적용 해야 합니다.
절대 안 11 시에서 정오 12:00, 17시 이후 절대 안 배포 배포.
배포 도구를 롤백 프로세스를 자동화 해야.
이러한 규칙을 실행 한 후 거의 아무도 빈 속에 버그를 수정 하며 한밤중까지 점프 하 고 소프트웨어 문제 때문에 잔 업.
불/불 환경에 오랜 시간이 신속 하 게 됩니다 확신 때문에 팀의 강도 줄일 수 있습니다.
혈액의 헌신 일반적으로 잘못 된 인상을 높을수록 나 헌신, 근무 시간 더 나은 결과 있을 것 이다. 사실 이것은 완전 한 의사 제안입니다. 그리고 기업 초기 불안정, 바쁜, 화재, 더 많은 그래서 당신은으로 초과, 개선의 모든 환상 일 것 이다. 아드레날린 수만 당신이 3 개월 동안, 누른 다음 모든 것을 부서진 것 이다. 웹사이트를 재생할 수 있도록, 모두는 생활, 아니라 시작 주말 챔피언 보다 깁니다.
6. 오후 단어 때 참조는 좋은, 하지만 잘 의사 소통
대부분의 경우, 오후 시나리오를 10 시간 계획 수 있습니다. 하지만 당신은 알고 계획 B에 그것을 변경할 수 있습니다, 그것은 단지 3 시간 걸립니다. 하지만 전제는, 당신이 좋은 게, 왜 그가 디자인의 케이스를 만들 것입니다. 향을 점화 하는 대만 오후 극히 드문, 수의 전문적인 품질 하나는 부인할 수 없다. 그래서 대부분, 그것은 광고의 판매 또는 다른 웹 사이트의 구성 복사만 하는 사람 있을 수 있습니다 하지만 그것은 중요 하지 않습니다. 중요 한 것은 당신이 물어 왜이 그래서 디자인은, 때문에 그의 평 신도 수준 수 있습니다 그 실제 범죄의 심각한 손실을 할 회사를 예상, 당신은 멈추지 않았다 그. 케이스 구조는 합리적인 회사 방향 이지만 yuan의 디자인을 오해 또는 허가 없이 수정 되지 않습니다.
디자인은 그래서 설계 될 것 이다 뒤에 고원에 많은, 때문에 있을 수 있습니다:
도 오후 우연히 복사
오후는 그렇게 좋아한다.
아트 요구 사항
고객 요구 사항
이것은 주요 기능이 작업을 수행 해야 합니다, 그리고 그렇지 않으면이 시스템 의미를 잃게
그래서 당신은 자신을 b B 처럼 될 수 없습니다. 시스템 개발 해야 합니다 "비용", "기대 수익", 그리고 둘 사이의 균형을 찾기 위해 계획의 구현. 이것은 통신 및 통신...
7. 코드의 특정 수준을 작성 하
디자인 웹 페이지 HTML/CSS 아키텍처를 사용 하려면 ORM을 오용 하지 마십시오, 바퀴를 재발견 하지 마십시오, 사업에 있을 것입니다 코드를 작성 하지 않습니다이 기본적인 개발 지식. 많은 새로운 웹사이트, 첫 번째 버전을 작성 하지만 다음 진흙의 개발에 수 협조 하지 비즈니스 모델 빠른 조정, yuan의 거의 90%와 함께 개발자 스스로의 시작 부분에 썩은 원래 코드의 첫 번째 버전은 너무 이동 때문에, 결과 작은 개정에 대 한 프레임 워크의 후속 조정 더 많은 시간을 소비, 대형된 치명적인 부상 될 것입니다.
8. 일정 한 양의 웹 페이지 효율성을 추구 하는 가장자리에 조정
효율을 추구 하지 하는 것은 매우 이상한 단어 이다.
일부 개발자 성능 및 고급 기술도 중추, 전체 사이트를 작성 하거나 Node.js를 사용 하 여 처음부터 끝까지 사이트를 작성 하 등 너무 멀리가 사실을 부인할 수 없다 있다. 그것은 모두에 대 한 시작에 대 한 휴대 전화를 모바일 웹 서비스를 작성입니다. 3 세대 때문에 대기 시간이 너무 큽니다, 대역폭 사용 및 페이지 응답 시간 추구를 압축 하려고 하.
하지만 사이트의 데스크톱 버전의 구현을 완전히 필요 하지 않습니다. 그리고 웹 사이트 성능 튜닝, 우선은 또한 프론트 엔드 성능, c/p 값은 훨씬 더 높은, 압축 CSS 3 초를 저장할 수 있습니다. DB 또는 프로그래밍 언어 조정만 0.1 초를 저장할 수 있습니다.
그리고 사이트의 지표와 사용자 Experinece 좋은 택시를 열려고 하지 말했다. 예를 들어 사이트의 속도 직접 검색 엔진, 알 렉 사 순위에 영향을 미칠 것 이다, 얼마나 많은 사람들이 알고? 블로그/앨범의 일반 사용자와 비디오 응답을 견딜 수 있는 시간은 다르다, 비디오 5 초를 견 뎌 야 하은을 오픈 하지만 앨범 및 5 페이지 초이 아마 아무도 그것을 사용 하 여 오픈 블로그...
이 조정의 효과 문제, 너무 나쁜 것 들 보다 덜 하 고.
9. 덜 비용과 혜택의 첫 번째 견적의 구현 전에 멋진 것 들의 사용
개발자로 서는, 매일, 세계에서 나오는 새로운 좋은 것 들을 많이 있습니다 그리고 그것은 문에서 재생 되지. 하지만 사실, 모든 소개 특정 비용 있고 혜택/비용 비율은 반드시 당신이 생각 하는 무엇.
예를 들어 레일의 새 버전의 추적, Scss 기타 자바 스크립트를 작성 하는 대신 CSS를 작성 하는 대신 좋은 Ruby 1.9.2, 성능 대체. 새로 발명된 된 자산 파이프라인 아키텍처를 적용 합니다. 이들은 모두 아주 새롭고 훌륭한 것 이다. (T 이용 상태, 초기 2.3.2에서 구조 계속에 3.1.3, 내부 보행자만 알고 얼마나 큰 프로젝트)
하지만 다른 것 들과 진실은 같은, 새로운 것 새로운 위험. 이며 일반적으로 이러한 것 들, 좋은, 즐길 수 없는 사람 소개 모두 사용 해야 합니다.
그래서 일반적으로 이렇게: 처음 버전, 분기 또는 물어가 고 모든 것을 할 또는 그것을 평가 하는 것은 수석 RD 그리고 실행할 수 있는지 확인 해 서 가능한 SOP에 그것을 넣어. .
새로운 아이디어 인 경우 이벤트 또는 작은 페이지에 그것을 보십시오.
좋은 것은 좋다. 그러나 도박을 하지 마십시오.
포괄적인 무엇, 내가 하 고 싶은 말은: 초기 개발에서의 전쟁 어느 시점 이므로 매우 귀중 한 이유도 없는 코드를 던져, 하지 특정 규칙을 구현 하 고 사방에 화재가 발생. 항상 반복 흰색 작업을 하 고.
어떤 이동, 할 가장 좋은 것은 거의 낮은 비용을 넣어 하려고 하지만 혜택 매우 높다.
위의 이러한 것 들 위에 라고 하지 내 개척, 사실 거의 모든 급속 한 발전, 민첩 한 개발, 많은 공학 블로그 종종 같은 주제에 대해 이야기 하 고 있다.
친구를 종종 엔지니어 많은 찾을 성향 그들은 자신을 위해 최선 이라고 생각 할 수 있다. 미국의 정상 상태 외부 접근 "절대적 으로" 그것의 자신의 팀에 적합 하지 않습니다, 대만에 사용을 위해 적당 하다. 하지만 사실 세계는 정말 매우 큰, 진짜로 그들의 자신의 시야에 그들의 성장 율을 넥타이 아무 이유도, 많은 다른 나라에서 다른 기업에 있는 원리의 적용 되는 말. 다른 사람들이 뭘 보면 얼마나 놀라운 이러한 메서드는, 그리고 얼마나 당신의 경력에 추가할 수 있습니다 놀랄 거 야.