표준의 시작
항목 | 답변 |
---|---|
GIT 주소 | GIT |
GIT 아이디 | homlex |
학교 수 (5) 후 | 62618 |
블로그 주소 | 블로그 홈 |
직장 주소 | 직장 주소 |
첫째, 지역 창고로 다른 사용자의 복제
방법 | 작업 기록 |
---|---|
첫 번째 단계 : 포크 | |
단계 : 클론 | |
세 번째 단계 : 설치 구성 | |
네 번째 단계 : 부팅을 완료하기 |
둘째, 프로젝트 및 코드를 생성합니다.
프로젝트를 생성합니다 :
계산기 개명는 C # .NET 프로젝트, ConsoleApp를 만듭니다.
다음과 같이 디자인 아이디어가 있습니다 :
클래스 설계 MyRandom 다음 난수 및 운전자 조작을 생성. (디지털 타입의 모든 캐릭터가 설정되어 이후의 계산을 용이하게하기 위해, 후자의 디지털 데이터 형식으로 재 디자인을 고려한다.)
(A)의 설계 포뮬러 난수 및 난수와 랜덤 심볼들을 결합하고, 그 결과를 얻기위한 방법은, 상기 클래스는 다음과 같은 수학 식의 세트 얻을 { "5 + 6 × (3-1) = 22" "3 + 0 × 2-5 = 5 ", "8 × 2-6 ÷ 2 = 13"}
디자인 의 WriteFile의 클래스는 저장 (문자열, 목록 <문자열> ) 방법, 생성 된 파일의 발현을 저장합니다.
기타 자세한 사항은 너무 많은 소개를하지 않습니다. 다음 부호화 시간이다.
......
일부 "코드와 수정이"첫 번째 세대가 인코딩 된 후 완료 :
실행합니다. 결과는 다음과 같다.
셋째, 단위 테스트
내가 무슨 짓을 :
오른쪽 사형 집행 클래스 내부 -> 단위 테스트를 작성 -> 확인
그 결과는 석회질 사형 집행의 모든 통해에 대한 시험 방법의 결과를 볼 수 있습니다
다음 방법 포뮬러의 GetFullExpressions 클래스 테스트 :
브레이크 포인트 디버깅 (getResult를 방법 포뮬러 중단 점을 설정하고 디버거 시작)
프로그램은 중단 점에서 중지됩니다. 단일 단계의 실행이 몇 후 하단에서 로컬 변수 등 다른 디버깅 정보를 관찰 할 수있다.
성능보기.
처음 네 작업의 수는 하드 코드 된 형태의 변화 생산하는 100 만 , 다음
ALT+F2
, 확인을CPU Usage
, 시작 아래를 클릭하십시오.일분 후 13초는 테스트 보고서를 생성합니다 .
이 클래스는 생산뿐만 아니라 표현의 결과를 얻을뿐만 아니라 주로하기 때문에 우리는 CPU의 포뮬러 최대 점유율을 볼 수 있습니다, 그래서 당신은 거의 100 %의 점유율을 볼 수 있습니다. 그러나 다른 방법이 낮고, 그것은 책임의 치우침에 의한 디자인의 시작이 될 수 있습니다. GetRandomNum GetRandomOpt 약 10 % 이상, 매 시간 데이터가 생성되기 때문이, 기대와 일치하고, 후자는 전자보다 한번 호출된다.
자세한 보고서를 생성합니다 : 여기를 클릭 :
그는 우리가 실행의 세부 사항 중 일부를 볼 수하는 vspx 파일을 생성합니다.
전체에서, CPU의 소비는 상대적으로 안정적이다. 임의로 세 시점 선택된 :. 12 %의 실질적으로 균형 이용 참조
급전 점 GetFullExpressions 방법 후의 최대 인원의 일부 세부 사항을 볼 수 후.
넷째, 복제 및 업로드
복제 : 위가 이미 도시되어있다가 , 여기에만 프로 시저 코드 업로드를 기록합니다.
다음왔다 디렉토리, 바로 개방 gitbash
주요 수행
bash
은 다음과 같습니다 :$ git config --global user.email "[email protected]" $ git config --global user.name "homlex" $ git init $ git add . $ git commit -m "Generate random formulas" $ git remote add origin [email protected]:homlex/Calculator.git $ git push -u origin master
업로드 성공
다섯 및 해결 문제 발생
구성 문제에 설치 : 다 잘만, 아무 문제.
코드 문제 : 같은 작업 중, 난수 생성 모두 같은
랜덤 씨앗을 것 초기화
Random random = new Random();
변경
Random random = new Random(Guid.NewGuid().GetHashCode());
코드 문제 : 결과 질문입니다.
특정 위상을 계산하는 동안 각성 할 때, 데이터 처리에 사용된다. (내가 여기 반전 스택하는 것입니다)
테스트 질문 :이 발생한 특별한 문제는 단위 테스트를 작성하는 방법을 모른다 시작입니다,하지만 나중에 바이두에 의해 해결.
자식 문제 : 실행
git add
주어 졌을 때 다음과 같이 :error: open(".vs/Calculator/v15/Server/sqlite3/db.lock"): Permission denied error: unable to index file '.vs/Calculator/v15/Server/sqlite3/db.lock' fatal: adding files failed
그 이유는 db.lock 파일 액세스가 거부
현재 디렉토리에 생성 된
.gitignore
파일 편집 메모장을 사용합니다 :/.vs
다시 저장
git add
원리 : 다음에 대한 액세스를 거부하는 추가하지 않기 때문에 ~다른 자식 문제 : 기사에 특정 참조 : 자식 처음 사용
종료
以上就是本次作业的全过程,掌握了单元测试和性能查看,从性能查看结果可以分析对代码的优化方向。
PS:GitHub是真的慢。:smile: