소프트웨어 공학

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

4
Scala가 Java 에서처럼 '*'대신 패키지 가져 오기에 '_'연산자를 사용하는 이유는 무엇입니까?
제 생각에 Scala의 가장 큰 장점 중 하나는 Java와의 상호 운용성 및 유사한 구문입니다. 내가 이상한 것을 발견 한 것은 Java에서 사용되는 연산자 _대신 패키지 wilcard 가져 오기에 *연산자를 사용한다는 것입니다. _대신에 기술적 인 이유 가 *있습니까? 그렇지 않다면 왜이 변경이 이루어 졌습니까?
17 java  scala 

4
비 기능 언어에서 영구 데이터 구조 사용
순전히 기능적이거나 거의 순전히 기능적인 언어는 불변적이고 상태 비 저장 (stateless) 스타일의 함수형 프로그래밍에 잘 맞기 때문에 지속적인 데이터 구조의 이점을 얻습니다. 그러나 때때로 우리는 Java와 같은 (상태 기반, OOP) 언어에 대한 영구 데이터 구조 라이브러리를 볼 수 있습니다. 지속적인 데이터 구조를 선호하는 주장은 종종 불변이기 때문에 스레드로부터 안전하다는 주장 …

5
코드에 데이터 저장
과거에 몇 번 코드에 데이터를 저장하고 싶었습니다. 데이터는 거의 변경되지 않으며 데이터베이스에 대한 액세스가 불가능하거나 실용적이거나 바람직하지 않은 장소에서 사용됩니다. 작은 예는 국가 목록을 저장하는 것입니다. 이를 위해 다음과 같은 작업을 수행 할 수 있습니다. public class Country { public string Code { get; set; } public string EnglishName {get;set;} …
17 c# 

5
C ++의 모든 것에 객체 (기본 유형 대신)를 사용하는 것이 합리적입니까?
최근에 작업 한 프로젝트에서 다음과 같은 많은 기능을 사용해야했습니다. static bool getGPS(double plane_latitude, double plane_longitude, double plane_altitude, double plane_roll, double plane_pitch, double plane_heading, double gimbal_roll, double gimbal_pitch, double gimbal_yaw, int target_x, int target_y, double zoom, int image_width_pixels, int image_height_pixels, double & Target_Latitude, double & Target_Longitude, double & Target_Height); 그래서 다음과 …

7
브라우저에서 클라이언트 측에서 사용하기에 파이썬이 너무 느려 집니까?
파이썬이 브라우저에서 사용하기에는 너무 느리다는 진술을 들었습니다. Javascript는 생존해야하기 때문에 빨리 필요로하고 빨리 만들어야하는 Google과 같은 회사 때문에이 측면에서만 우수하다고 생각하지만 잘못 될 수 있습니다. 브라우저에서 수행하는 방식에 영향을주는 Python 및 Javascript 설계 방식에 차이가 있습니까? 현재 클라이언트 측 Python 구현이 없기 때문에 내 질문은 누군가가 작성한 진술에서 비롯된 것이므로 …

9
측정 단위에 액세스하기위한 데이터 구조
TL; DR 측정 단위 내에서 단위를 정의하기위한 최적의 데이터 구조를 설계하려고합니다. A Unit of measure는 본질적 value으로unit 입니다. SI 단위 에는 7 개의베이스 또는 치수가 있습니다. 즉, 길이, 질량, 시간, 전류, 온도, 물질의 양 (몰) 및 광도. 이것은 간단하지만 많은 파생 단위와 자주 사용하는 요금이 있습니다. 결합 된 단위의 예는 …

4
코드 안정성을 측정하기위한 소스 코드 메트릭?
릴리스주기 (구현, 테스트, 버그 수정, 릴리스) 동안 소프트웨어가 개발되는 방식을 고려할 때 코드베이스에서 변경된 코드 행에서 일부 패턴을 볼 수 있어야한다고 생각했습니다. 예를 들어, 프로젝트가 끝날 무렵 코드가 더 안정되면 단위 시간당 더 적은 코드 줄이 수정되는 것을 볼 수 있습니다. 예를 들어, 프로젝트의 첫 6 개월 동안 평균은 하루에 …

5
MIT 라이센스를 사용하여 이전에 작성한 코드 중 일부를 고용주에게 제공하여 본인을 보호하고 저작권을 잃지 않도록 할 수 있습니까?
내 상황 : 새 직장을 시작하기 전에 프레임 워크를 작성했습니다. 나는 저작권을 소유합니다. 소프트웨어와 마찬가지로 보일러 플레이트 로직이 내장되어 있습니다. (어!) 새 작업에서 전체 프레임 워크를 사용하고 싶지 않지만 새 작업을 위해 구축하는 것과 비슷한 프레임 워크에서 일부 프레임 워크 를 다시 사용해야 합니다. 모든 논리를 처음부터 다시 구현 / …

6
캐시를 많이 사용하는 단위 테스트 방법에 대한 모범 사례?
캐시에서 객체와 객체 목록을 필터링하고 필터링하고 저장하는 많은 비즈니스 로직 방법이 있습니다. 치다 IList<TObject> AllFromCache() { ... } TObject FetchById(guid id) { ... } IList<TObject> FilterByPropertry(int property) { ... } Fetch..그리고 Filter..부를 것이다 AllFromCache이없는 경우 캐시와 수익을 채우는하고 있는지 단지에서 반환한다. 나는 일반적으로 이것들을 단위 테스트하는 것을 부끄러워합니다. 이 유형의 …

3
IEnumerable "상태 머신"감지
C # yield return으로 너무 귀여워지기 라는 흥미로운 기사를 읽었습니다. IEnumerable이 실제 열거 가능한 컬렉션인지 또는 yield 키워드로 생성 된 상태 머신인지 감지하는 가장 좋은 방법은 무엇인지 궁금합니다. 예를 들어 기사에서 DoubleXValue를 다음과 같이 수정할 수 있습니다. private void DoubleXValue(IEnumerable<Point> points) { if(points is List<Point>) foreach (var point in points) …
17 c#  api-design 

5
설명 적 이름 지정 대 80 자 라인 [닫기]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식에 의해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 육년 전 …

4
QA의 딜레마 대 반복
우리 회사에서는 민첩한 사례로 성공적으로 작업했지만 반복을 사용하지 않았습니다. 주된 이유는 반복주기에서 QA에 맞는 확실한 방법을 찾을 수 없기 때문입니다. QA는 이 빌드가 고객에게 배포되기 전에 특정 빌드 (릴리스 후보)에 대한 추가 검증 비트로서 QA를 이해 합니다. 요점은 단일 악성 커밋이 전체 릴리스를 손상시키지 않도록하는 것입니다. 어떤 버전인지 알 수 …
17 agile  teamwork  qa  sdlc 

3
스칼라에서 확인되지 않은 예외에 대한 결정
Java 프로그래머로서, 나는 항상 점검되지 않은 예외를 비판했습니다. 대부분의 프로그래머는 나중에 쉽게 문제를 일으킬 수 있도록 코딩 편의를위한 경로로 사용합니다. 또한 예외를 확인한 프로그램 (단순하지는 않지만)은 확인되지 않은 상대방에 비해 훨씬 강력합니다. 놀랍게도 스칼라에는 Checked Exceptions라는 것이 없습니다. 스칼라에서는 모든 Java가 선택 및 선택 해제되어 있습니다. 이 결정의 동기는 무엇입니까? …


3
국가 패턴이 Liskov 대체 원칙을 위반합니까?
이 이미지는 도메인 기반 디자인 및 패턴 적용 : C # 및 .NET의 예제 포함 이는 대한 클래스 다이어그램 주 패턴 A가 SalesOrder수명 시간 동안 여러 가지 상태를 가질 수 있습니다. 다른 상태 사이에는 특정 전환 만 허용됩니다. 이제 OrderState클래스는 abstract클래스이고 모든 메소드는 서브 클래스로 상속됩니다. Cancelled다른 상태로의 전이를 허용하지 …

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