소프트웨어 공학

시스템 개발 수명주기 내에서 작업하는 전문가, 학자 및 학생을위한 Q & A

3
기능적 프로그래밍 및 텍스트 어드벤처
이것은 주로 FP에 대한 이론적 인 질문이지만, 내 요점을 설명하기 위해 구식 Zork과 같은 텍스트 모험을 할 것입니다. FP를 사용하여 상태 기반 시뮬레이션을 모델링하는 방법에 대한 귀하의 의견을 알고 싶습니다. 텍스트 어드벤처는 실제로 OOP를 요구하는 것 같습니다. 예를 들어, 모든 "방"은 Room클래스의 인스턴스이며, 휴대 할 수있는 Item것과 같은 기본 클래스 …

9
암시 적 변환이없는 이유는 무엇입니까?
내가 알기로 암시 적 변환은 오류를 일으킬 수 있습니다. 그러나 그것은 의미가 없습니다. 정상적인 변환도 오류를 일으키지 않아야합니까? 왜 없어 len(100) 다음과 같이 해석하거나 컴파일하는 언어로 작업 len(str(100)) 특히 그것이 그것이 작동 하는 유일한 방법 이기 때문에 . 언어는 오류가 무엇인지 알고 왜 수정하지 않습니까? 이 예제에서는 파이썬을 사용했지만이 작은 …

3
이름이 같은 일반 클래스를 포함하는 파일을 구조화하고 이름을 지정하는 가장 좋은 방법은 무엇입니까?
현재 프로젝트에서 동일한 이름이지만 다른 수의 일반 매개 변수로 일반 클래스를 작성 해야하는 요구 사항을 충족했습니다. 예를 들면 다음과 같습니다. MyClass<T1> MyClass<T1, T2> MyClass<T1, T2, T3> 동일한 네임 스페이스 에서이 모든 것을 원한다면 클래스와 파일을 구조화하고 이름을 지정하는 방법에 대해 혼란 스럽습니까? 클래스가 파일 당 1 개로 제한되어야하고 파일이 네임 …
14 c#  .net 

3
구조체에 생성자를 추가해야합니까?
우리는 종종 멤버 메소드를 가진 완전한 모듈 일 수있는 클래스와 달리 데이터 구조를 정의하기 위해 c ++ 구조체를 사용합니다. 이제 깊게, 우리는 둘 다 동일하다는 것을 알고 있습니다. 데이터 만 엔티티로 구조체를 자주 사용 / 처리한다는 사실 때문에 기본 생성자를 추가하지 않아도된다는 충동이 생깁니다. 그러나 생성자는 항상 훌륭하며 일을 더 …

3
동일한 전체 프로젝트의 일부인 여러 Git 리포지토리 그룹화
서버 구성 요소, 웹 응용 프로그램 구성 요소, iOS 구성 요소, Android 구성 요소 등 여러 구성 요소가있는 프로젝트가 있다고 가정 해 보겠습니다.이 구성 요소는 모두 별도의 코드베이스이지만 느슨하게 연결되어 있습니다 (예 : 서버 변경). 코드는 다른 모든 구성 요소를 변경해야 할 수도 있습니다) Git에서이 프로젝트를 구성하는 가장 효율적인 방법은 …
14 git 

2
유형 이론의 올바른 용어 : 유형, 유형 생성자, 종류 / 정렬 및 값
에 대한 답변에서 이전 질문 , 작은 논쟁이 특정 구조에 대한 정확한 용어에 대한 시작했다. 나는 (이외의 질문을 찾을 수 없습니다로 이 또는 그 명확하게이 문제를 해결하기 위해 매우 옳은 일 아니다),이 새로운 일을하고 있습니다. 의심스러운 용어와 그 관계는 type, type constructor, type 매개 변수, 종류 또는 정렬 및 값 …

5
연중 무휴 24 시간 실행해야하는 프로그램에서 예외 처리
처리 할 수있는 예외 만 잡아야한다는 것을 읽었으며 기본 예외 클래스 (이 경우 C #)를 잡는 것은 나쁜 생각입니다 (다른 이유로). 나는 현재까지 아직 예외가 발견되지 않은 것을 아직 보지 못한 프로젝트의 일부입니다. 그렇게하는 것은 나쁜 습관으로 여겨지지만 "이 서비스는 연중 무휴 24 시간 실행해야하므로 그렇게해야합니다."라고 대답했습니다. 연중 무휴 24 …

6
웹 앱을 구축하는 민첩한 팀을 확장하고 분할하는 가장 좋은 방법은 무엇입니까?
최근에 웹 앱을 빌드하는 민첩한 개발 프로젝트에서 스크럼 마스터로 일하는 회사에 합류했습니다. 이 팀은 민첩한 팀의 최대 규모가 될 것입니다 (다음 주 9 일 예상). 우리는 잠재적으로 팀을 두 팀으로 나누는 가능성에 대해 이야기했습니다. (현재 과도하지 않은) 스탠드 업을 줄이려는 것이 아니라 스프린트 계획 세션에서 사람들이 완전히 지루해지지 않도록하는 것입니다. …


2
재귀 함수 호출의 return 문 이유
난 그냥 내 마음에 의심했다. 다음과 같은 서브 루틴 (예를 들어 목록에서 요소를 검색)에는 끝에 return 문이 있습니다. list *search_list(list *l, item_type x) { if (l == NULL) return(NULL); if (l->item == x) return(l); else return( search_list(l->next, x) ); } 끝에 return 문의 중요성을 얻을 수 없습니다 (예 : return …

2
객체 지향 대 벡터 기반 프로그래밍
객체 지향 디자인과 벡터 기반 디자인 사이에서 찢어졌습니다. 나는 객체가 전체 아키텍처에 부여하는 능력, 구조 및 안전을 좋아합니다. 그러나 동시에 속도는 나에게 매우 중요하며 배열에 간단한 float 변수를 사용하면 Matlab 또는 Python의 numpy와 같은 벡터 기반 언어 / 라이브러리에서 실제로 도움이됩니다. 여기 내 요점을 설명하기 위해 작성한 코드가 있습니다. 문제 …

2
Bob 아저씨가 '명사구 이름'이란 무슨 뜻입니까?
나는 Uncle Bob의 Clean Code 를 읽고 있습니다. 나는 영어를 모국어로 사용하지 않기 때문에 다음 진술을 이해할 수 없었습니다. 클래스와 객체는 같은 명사 또는 명사구 이름이 있어야 Customer, WikiPage, Account,와 AddressParser. 피 단어가 좋아 Manager, Processor, Data, 또는 Info클래스의 이름입니다. 클래스 이름은 동사가 아니어야합니다. 나는의, 아무도 알 수 없기 때문에 …

2
공유 캐시-무효화 우수 사례
캐시 객체를 무효화 / 업데이트하는 더 나은 방법이 무엇인지 알고 싶습니다. 전제 조건 원격 memcached 서버가있는 경우 (여러 응용 프로그램의 캐시 역할을 함) 모든 서버는 Azure (호환 지역, 동일한 데이터 센터)에서 호스팅됩니다. 캐시 오브젝트 크기는 200 바이트에서 50 킬로바이트까지입니다. 접근 방식 1 (캐시에 최대한 빨리 저장) 오브젝트 A가 작성 됨-> …

6
주석으로 다이어그램으로 소스 코드에 주석 달기
계산 기하학과 그래픽 및 이러한 종류의 주제를 다루는 많은 (주로 c ++ 및 javascript) 코드를 작성하므로 시각적 다이어그램이 문제 해결 과정에서 없어서는 안될 부분이라는 것을 알았습니다. 나는 "오, 손으로 그린 ​​다이어그램을 어떤 방식으로 코드에 주석으로 첨부 할 수 있다면 환상적 이지 않을 것"이라고 지금 막 결정 했다. 며칠, 몇 주, …

3
MVC에서는 DAO가 컨트롤러 또는 모델에서 호출되어야합니다.
Controller 클래스에서 직접 DAO가 호출되고 Model 클래스에서 DAO가 호출되는 DAO에 대한 다양한 주장을 보았습니다. 사실 개인적으로 MVC 패턴을 따르는 경우 컨트롤러가 DAO와 결합해서는 안되지만 Model 클래스는 내부에서 DAO를 호출하고 컨트롤러가 모델 클래스를 호출해야합니다. 왜냐하면, 우리는 웹 애플리케이션과 분리하여 모델 클래스를 분리하고 REST 서비스가 모델 클래스를 사용하는 것과 같은 다양한 방법으로 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.