[SE] Week3: 4개의 연산 생성 채점 도구 Extension & Release Version(추가 문제)

3915 단어
[부가문제] 4단계 목표-인터페이스 모듈, 테스트 모듈과 핵심 모듈의 느슨한 결합.
여기까지 쓰고 나는 단지 한마디만 하고 싶다. 언젠가 내가 기능이 복잡하고 진정으로 느슨한 모듈을 쓸 수 있다면 나는 코드를 쓰지 않아도 되겠지[수동으로 안녕히 계세요.]
물론 이것은 하송 결합과 코드의 복잡성 사이의 균형을 잡기 어려운 문제를 강조할 뿐이며, 설령 어렵다고 해도 우리는 여전히 열심히 완성하고 있다.
우리는 자신이 쓴 백엔드 모듈에 대해 자신감이 있기 때문에, 우리의 계산 핵심과 다른 사람의 UI 코드를 결합하기를 희망한다.
그러나 이 부가 문제는 기본적으로 서둘러 작성한 것으로 두 그룹 간의 전후단 모듈의 느슨한 결합을 완전히 실현하지 못했다. 원인은 매우 많다. 예를 들어 다음과 같다.
1) 우리는 일반 모드와 일괄 처리 모드 두 가지 방식을 사용하는데 지원하지 않는 인터페이스와 결합하기 어렵다.(이점은 사실 비교적 해결하기 쉽다. xml 파일에서batchmode를false로 설정하면 된다)
2) 관건적인 점은 소수의 그룹이 xml을 사용하여 전후단의 매개 변수를 전송하기 때문에 요구에 부합되는 전단 코드를 찾기 어렵다는 것이다.
그래서 우리는 @유건을 사용해 보았다.з」∠)_)그룹의 전단 코드는 우리의 일부 기능이 일치하기 때문에 결합이 비교적 편리하다.
그러나 UI 인터페이스와 우리가 필요로 하는 차이점이 매우 크다는 것을 보고 우리는 UI의 컨트롤을 수정할 수밖에 없었다.마지막까지 우리의 생각대로 UI 인터페이스가 되었다.
이 지경에 이르렀을 때 우리는 반성해 보았는데, 어째서 더욱 시원스럽게 100% 적당한 인터페이스로 직접 수정하지 않았는가?
그래서 이 못생기고 못생기고 아무런 수식도 없는 소프트웨어가 생겼다. 이 링크를 보십시오.
 
[부가문제] 5단계 목표 - 증량 수정을 통해 프로그램을 개선하고 각종 오류 상황에 대한 처리를 완성한다.
구현 과정에서 다음과 같은 예외를 사용자 정의했습니다.
namespace Core
{
    public class MyException { }

    public class FileNotExistException : Exception
    { public FileNotExistException(string str) : base("File \"" + str + "\"" + "doesn't exist!") { } }

    public class FileNotReadableException : Exception
    { public FileNotReadableException(string str) : base("Can't read file \"" + str + "\"") { } }

    public class InvalidExpressionException : Exception
    { public InvalidExpressionException(string str) : base("Invalid expression : " + str) { } }

    public class InvalidNumberException : Exception
    { public InvalidNumberException(string str) : base("Invalid number : " + str) { } }

    public class DivideZeroException : Exception
    { public DivideZeroException() : base("Divisor can't be zero!") { } }

    public class DenumeratorZeroException : Exception
    { public DenumeratorZeroException() : base("Denumerator can't be zero!") { } }

    public class InvalidXmlFileException : Exception
    { public InvalidXmlFileException(string str) : base(str) { } }
}

 
또한 여러 가지 오류 상황을 고려하여 프로그램의 노봉성을 크게 향상시켰다. 다음은 다음과 같다.
1) 파일 형식이나 입력 표현식이 잘못되었습니다.(이런 등급은 너무 가볍다.)
2) xml 파일이 없거나 예외가 발생했습니다.(동상...)
3) 일괄 처리 과정에서 사용자가 준 정규 표현식에 따라 선별된 파일은 비합법적이다.(사정은 봐주는 셈이다.)
4) 프로그램 실행 중 xml이 사용자에 의해 비정상적으로 수정되었습니다.(구역질이 나기 시작한 것 같다.)
5) 배치 프로세스 중에 파일을 삭제하거나 추가할 수 있습니다.스케줄러:너 일부러 그러는거 맞지?
6)Generator에서 작업을 수행하는 동안 탭을 미친 듯이 전환한 다음 생성이 끝나기 전에 다른 작업을 시작합니다.(내가 다선정이라고 이렇게 괴롭히지 마!!(╯□′) ╯.
.....
더 많은 이상 상황은 OO과정의 정수를 보유한 당신에게 남겨줍니다(진솔한 눈)
스케줄러: 잠깐... 미복구 6조 버전으로 제출한 것 같은데Σ(°△°|||||) ︴, 조교님 크게 봐주세요 아아아아아!!)

좋은 웹페이지 즐겨찾기