소프트웨어 공학

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

2
인스턴스가 하나만있는 Python 클래스 : (단일) 클래스 인스턴스를 언제 작성해야합니까?
한 번만 인스턴스화되는 파이썬 클래스가 주어지면 클래스의 객체가 하나뿐입니다. 어떤 경우에 클래스와 직접 작업하는 대신 단일 클래스 인스턴스를 만드는 것이 타당한 지 궁금합니다. 비슷한 질문 이 있지만 다른 초점을 가지고 있습니다. 전역 변수와 함수를 클래스로 그룹화하고 파이썬 전용이 아닙니다. 후자는 (파이썬에서) 클래스도 객체라는 사실을 고려하지 않습니다. 최신 정보: 파이썬에서는 클래스와 …

5
스크럼에서 "기술 사용자 스토리"가 허용됩니까?
Scrum에서 기술 사용자 스토리가 허용됩니까? 그렇다면 Scrum에서 기술 사용자 스토리를 작성하기위한 표준 템플릿은 무엇입니까? 같은가요 As a <user> I want to do <task> so that I can <goal>?? 필자는 일부 블로그에서 개발자로서 사용자 가 아님을 읽었지만 Scrum이이를 강제하지 않는다는 것도 읽었습니다. 그들이 공유 한 몇 블로그가 있습니다 사용자로 시스템에 사용자 …

1
오픈 소스 지원을 중단하는 방법? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 저는 거의 매일 다양한 채널 (Twitter, email, GitHub)에서 지원 요청을받는 오픈 소스 프로젝트의 유일한 관리자입니다. 앞으로 3 …

3
클라이언트 요청없이 서버에서 클라이언트로 데이터를 푸시합니까?
Stack Exchange를 탐색하는 동안 "3 개의 새 메시지, 클릭하여 표시"와 같은 동적 알림이 있음을 알았습니다. 설명하려는 내용에 대해 이러한 종류의 동적 업데이트를 원합니다. 최근 10 개의 최신 뉴스 기사가있는 슬라이드 쇼 / 슬라이드 쇼를 만들고 싶다고 가정 해 보겠습니다. 이 회전식 메뉴가 매시간 업데이트됩니다. 최신 기사는 오래된 기사를 대기열에서 밀어냅니다. …
11 server  client 

2
성능을위한 타입 시스템
프로그램의 성능 특성을 공식화하려는 (정적) 유형 시스템이 있습니까? 그런 시도를 찾지 못하는 것 같습니다. 타입 시스템은 프로그램에 대한 진술을하기 위해 프로그래머의 무기고에서 가장 강력한 도구 중 하나이며, 성능이 중요한 경우가 많기 때문에 시도가 수행되었다고 상상하기에는 그리 멀지 않은 것 같습니다. 프로그램의 저장 및 런타임 특성에 대해 적어도 몇 가지 진술을 …

5
이 시나리오에서 구성 또는 상속을 선호해야합니까?
인터페이스를 고려하십시오. interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } 이 인터페이스는 다양한 모양 (예 : SineWaveGenerator및 SquareWaveGenerator)의 파도를 생성하는 여러 클래스로 구현됩니다 . SoundWave원시 사운드 데이터가 아닌 음악 데이터를 기반으로 클래스를 생성하고 싶습니다 . 비트 이름 (초가 아님)으로 메모의 이름과 길이를 수신하고 내부적으로 IWaveGenerator기능을 사용하여 SoundWave그에 따라 작성합니다 …

5
돌연변이 방법에 대한 별도의 인터페이스
나는 코드를 리팩토링하는 일을하고 있었고, 토끼 구멍에서 첫 단계를 밟은 것 같다. Java로 예제를 작성하고 있지만 무시할 수 있다고 생각합니다. 인터페이스를 Foo다음과 같이 정의했습니다. public interface Foo { int getX(); int getY(); int getZ(); } 그리고 다음과 같은 구현 public final class DefaultFoo implements Foo { public DefaultFoo(int x, int …

5
각 스프린트 시작시 조기 서브 태스킹
Agile / Scrum을 사용하는 새 팀에 합류했으며 개발 프로세스는 다음과 같습니다. 1) 개발자는 각 스프린트 전에 각 스토리를 검토하여 중요한 것을 놓치지 않도록합니다. 워크 플로에 공식적인 상태가 있습니다. 2) 스프린트 킥오프 동안 전체 팀은 각 스토리에 소요되는 스토리 포인트 수에 대한 추정 (포커 계획)을 수행합니다. 3) 마지막으로, 각 스프린트가 시작된 …
11 agile  scrum 

1
C #에서 복합 할당 연산자를 오버로드 할 수없는 이유는 무엇입니까?
제목이 오해의 소지가 있으므로 전체 질문을 읽으십시오 :-) . "복합 할당 연산자"에 의해 op=, 예를 들어 이와 같은 구성을 염두에두고 +=있습니다. 순수 할당 연산자 ( =)는 내 질문에 속하지 않습니다. "왜"라는 말은 의견이 아니라 일부 디자이너 나 동료 등이 자신의 추론을 표현할 때 자원 (책, 기사 등)을 의미합니다 (예 : …

8
날짜 (코드 냄새)에 따라 UI (또는 기타) 기능을 켜고 끌 수 있습니까?
ASP.NET 2.0으로 작성된 끔찍한 시스템에 일부 기능을 추가해야합니다. 문제는 특정 제품에 특정 날짜 이후에 시작된 비즈니스에 대해 설정해야하는 UI 기능이 있고 (다른 제품이 꺼진 경우) 페이지가 기존 비즈니스에 대해 동일하게 표시되어야한다는 것입니다. 날짜 기반 JavaScript UI 스위치에 대한 아이디어를 본능적으로 찾고 구 비즈니스와 신 비즈니스에 대한 웹 컨트롤을 "비수용 적"으로 …

5
세 개의 숫자를 비교하는 간단하고 깨끗한 방법
if작동 하는 일련의 코드가 있지만 지저분 해집니다. 기본적으로 3 개의 정수 중 가장 큰 정수를 선택하고 선택된 플래그를 나타내는 상태 플래그를 설정하고 싶습니다. 내 현재 코드는 다음과 같습니다 a = countAs(); b = countBs(); c = countCs(); if (a > b && a > c) status = MOSTLY_A; else if …
11 algorithms  c 

4
파이썬에서 부분 날짜를 어떻게 모델링합니까? 알 수없는 해 또는 달의 알 수없는 날처럼?
내가 좋아하는 사실을 캡처 할 수 싶어 Bob was born in 2000하고 Bill's birthday is May 7th. 두 예에서 우리는 그 사람의 생년월일 중 일부만을 알고 있습니다. 어떤 경우에는 연도 만 알고 있습니다. 다른 경우에는 월과 일을 알고 있지만 연도는 알 수 없습니다. 이 정보를 어떻게 캡처합니까? 이것이 어떻게 작동하는지 …
11 python 

2
유기 화합물을 나타내는 데 어떤 데이터 구조를 사용 하시겠습니까?
분자를 나타내는 데 사용할 수있는 좋은 데이터 구조가 있습니까? 모든 원자를 꼭짓점으로 만들어서 그래프로 표현할 수 있다고 생각했지만 유기 화합물에는 많은 탄소와 수소가있는 것이 일반적입니다. 어떻게 번호를 매길까요? 분자를 나타내는 좋은 방법이 있지만 동시에 효율적인 .contains()방법이 있습니까? 이를위한 가장 기본적인 용도 중 하나는 화합물에 카르보닐기, 벤질 수소 또는 벤젠 고리가 …

2
독점 코드 권한은 정확히 어떻게 작동합니까? [닫은]
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? Software Engineering Stack Exchange에 대한 주제가 되도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 나는 클라이언트가 자신이 만들고 싶은 웹 응용 프로그램에 대한 제안서를 제출하도록 요청 받았다. 이 고객은 지금까지 비교적 좋은 견인력을 가진 스타트 …

2
별도의 체인에 이진 검색 트리를 사용하여 해시 테이블의 속도를 높일 수 있습니까?
이진 검색 트리를 사용하여 해시 테이블을 구현하여 O (n) (연결된 목록 사용)에서 O (log n) (BST 사용)로 분리 체인 프로세스의 검색 복잡성을 줄이려고합니다. 이것이 가능합니까? 그렇다면 그렇다면 어떻게해야합니까? 솔루션이 단계별로 로직을 구현하는지 이해하는 것이 더 쉬울 것입니다. 해시 테이블 (검색 별도의 체인을 사용하여 빌드)에서 검색 시간을 줄이고 싶지만 동시에 삽입 …

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