«design» 태그된 질문

소프트웨어 설계를 통한 솔루션의 문제 해결 및 계획에 대한 질문.

16
프로젝트는 거의 완료되었지만 절차 적 스파게티 코드입니다. 다시 쓰거나 계속 배송하려고합니까? [닫은]
저는 초보자 웹 개발자입니다 (1 년의 경험). 졸업 한 지 몇 주 후, 소유자가 기술 전문가가 아닌 회사를 위해 웹 응용 프로그램을 작성하는 작업을 제안했습니다. 그는 자신의 아이디어 도용, 서비스 회사가 부과하는 높은 개발 비용을 피하고 장기적으로 프로젝트를 유지하기 위해 신뢰할 수있는 젊은 사람을 고용하기 위해 저를 모집했습니다. ). 내가 …

17
조기 최적화는 실제로 모든 악의 근원입니까?
내 동료가 오늘이라는 클래스를 커밋했습니다.이 클래스는 ThreadLocalFormat기본적으로 Java 형식 클래스 인스턴스를 스레드 로컬로 이동했습니다. 스레드 안전하지 않고 "상대적으로 비싸지 않기"때문입니다. 나는 빠른 테스트를 작성하고 초당 200,000 개의 인스턴스를 생성 할 수 있다고 계산했으며, 그가 그 수를 많이 만들 었는지 물었다. 그는 훌륭한 프로그래머이며 팀의 모든 사람은 매우 숙련되어 결과 코드를 …

18
수천 개의 IF… THEN… ELSE 규칙을 어떻게 관리 할 수 ​​있습니까?
핵심은 수천 개의 if ... then ... else 문으로 구성되는 응용 프로그램 작성을 고려하고 있습니다. 응용 프로그램의 목적은 어떤 풍경에서 소가 어떻게 움직이는 지 예측할 수 있도록하는 것입니다. 그들은 태양, 바람, 음식 소스, 갑작스러운 사건 등과 같은 것들의 영향을받습니다. 그러한 응용 프로그램을 어떻게 관리 할 수 ​​있습니까? 수백 번의 IF …

15
동작을 결정하기 위해 부울 매개 변수를 사용하는 것이 잘못 되었습니까?
나는 때때로“느끼는”느낌이 드는 관행을 보았지만, 그것에 대해 무엇이 잘못되었는지 분명히 말할 수는 없다. 아니면 내 편견 일 수도 있습니다. 간다 : 개발자는 부울을 매개 변수 중 하나로 사용하여 메서드를 정의하고 해당 메서드는 다른 메서드 등을 호출하며 결국 부울이 사용되어 특정 작업을 수행할지 여부를 결정합니다. 예를 들어 사용자에게 특정 권한이 있거나 …

17
항상 자동 증분 정수 기본 키를 사용하는 것이 좋습니다?
내 데이터베이스에서는 id특정 행에 대해 고유 한 조회를 할 수 있도록 모든 테이블 의 이름으로 자동 증가 정수 기본 키를 사용하는 습관을들이는 경향이 있습니다. 이것은 나쁜 생각으로 간주됩니까? 이런 식으로하는 데 단점이 있습니까? 때로는 고유 식별자가있는 id, profile_id, subscriptions위치 , 테이블 외부 에 대한 링크 등과 같은 여러 인덱스 id가 …

5
커맨드 라인 인수를 디자인하는 좋은 습관은 무엇입니까?
응용 프로그램을 개발하는 동안 궁금해지기 시작했습니다. 명령 줄 인수를 어떻게 디자인해야합니까? 프로그램의 많은이 같은 공식 사용 -argument value또는 /argument value. 내 마음에 온 해결책은 argument:value입니다. 공백이 없으면 값과 인수를 엉망으로 만들 수있는 방법이 없기 때문에 나는 그것이 좋다고 생각했습니다. 또한 왼쪽 :문자 에서 처음에 문자열을 두 개로 나누는 것이 쉽습니다 …
190 design  parameters  cli 

5
클래스 대신 구조체를 언제 사용합니까? [닫은]
구조체와 클래스를 언제 사용할 지에 대한 경험 규칙은 무엇입니까? 나는 그 용어에 대한 C # 정의를 생각하고 있지만 언어가 비슷한 개념을 가지고 있다면 당신의 의견도 듣고 싶습니다. 나는 거의 모든 것에 클래스를 사용하는 경향이 있으며 무언가가 매우 단순하고 PhoneNumber와 같은 값 유형이어야하는 경우에만 구조체를 사용합니다. 그러나 이것은 비교적 사소한 사용처럼 …
174 c#  design  class  struct 

21
빠르고 더러운 프로그래머는 그들이 올바르게 알고 있다는 것을 어떻게 알 수 있습니까?
프로그래머에게 왜 깨끗한 코드를 작성해야하는지 물어 보면 가장 큰 대답은 유지 보수성입니다. 그것이 나의 목록에있는 동안, 나의 주된 이유는 더 즉각적이고 이타 적이 지 않습니다. 새 코드가 너무 더러운 지 새 코드가 올바른지 알 수 없습니다. 나는 개별 기능과 코드 라인에 너무 집중하여 첫 번째 초안을 끝내고 다시 큰 그림을 …
166 design 

8
소프트웨어 산업에서 나쁜 프로그래밍 관행이 일반적입니까? [닫은]
방금 한 달 전에 소프트웨어 개발자로 첫 직장을 시작했습니다. OOP, SOLID , DRY , YAGNI, 디자인 패턴, SRP 등에 대해 배운 모든 것은 창 밖으로 던져 질 수 있습니다. 그들은 C # .NET Webforms를 사용하고 거의 객체가 아닌 외부 클래스가 거의없는 Code Behind 내의 거의 모든 것을 수행합니다. 사용자 지정 …

8
사람들이 자전거 흘림을 멈추게하려면 어떻게해야합니까 (사소한 일에 중점을 둡니다)?
나는 다른 팀들에게 새로운 코드베이스를 가르치는 임무를 맡았지만 계속해서 문제가 발생합니다. 실제로 사람들과 함께 코드를 살펴볼 때마다 전체 운동이 자전거 헛간 (사소한 문제에 불균형 한 가중치를 부여하는 조직 구성원) 운동으로 전환되기 전에는 멀지 않습니다 . 그들은 코드베이스를 알지 못하지만 코드베이스를 향상시키는 데 도움이 필요하다고 생각하기 때문에 이해할 수 있는 것에 …

7
검색이 RESTful 인터페이스에 어떻게 적합합니까?
RESTful 인터페이스를 설계 할 때 요청 유형의 의미는 설계에 필수적으로 간주됩니다. GET- 콜렉션 나열 또는 검색 요소 PUT- 컬렉션 또는 요소 교체 POST- 콜렉션 또는 요소 작성 삭제 -음, 음, 컬렉션 또는 요소 삭제 그러나 이것은 "검색"의 개념을 다루지 않는 것 같습니다. 예를 들어 구직 사이트를 지원하는 웹 서비스 제품군을 …

17
재사용 가능한 방법을 어떻게 알 수 있습니까? [닫은]
나는 집에서 내 자신의 사업을 생각하고 내 아내가 와서 말한다 여보 .. 2018 년 전 세계의 모든 Day Light Savings를 콘솔에서 인쇄 할 수 있습니까? 뭔가 확인해야합니다. 그리고 나는 그것이 Java 경험으로 평생 동안 기다리고 있었고 다음을 생각해 냈기 때문에 매우 행복합니다. import java.time.*; import java.util.Set; class App { void …

10
이것이 Liskov 대체 원칙을 위반합니까?
Task 엔터티 목록과 ProjectTask하위 유형 이 있다고 가정 해보십시오 . ProjectTasks상태가 시작됨 인 경우 닫을 수없는 경우 를 제외하고 작업은 언제든지 닫을 수 있습니다 . UI는 시작을 닫는 옵션을 ProjectTask사용할 수 없도록해야 하지만 도메인에는 다음과 같은 보호 조치가 있습니다. public class Task { public Status Status { get; set; } …

14
이상적인 방법 길이는 얼마입니까? [닫은]
객체 지향 프로그래밍에서는 물론 메소드의 최대 길이에 대한 정확한 규칙은 없지만 여전히이 두 따옴표가 서로 약간 모순되는 것을 알았으므로 귀하의 생각을 듣고 싶습니다. 에서 클린 코드 : 애자일 소프트웨어 장인의 수첩 , 로버트 마틴은 말합니다 : 함수의 첫 번째 규칙은 작아야한다는 것입니다. 함수의 두 번째 규칙은 그보다 작아야한다는 것입니다. 기능은 …

11
오류 처리를 수행하는 현대적인 방법…
나는이 문제를 잠시 동안 숙고하고 있으며 끊임없이 경고와 모순을 발견하고 있기 때문에 누군가 다음과 같은 결론을 내릴 수 있기를 바랍니다. 오류 코드보다 예외를 선호 내가 아는 한, 업계에서 4 년간 일하면서 책과 블로그를 읽는 등 오류를 처리하는 가장 좋은 방법은 오류 코드 (반드시 오류 코드가 아니라 반드시 오류를 나타내는 유형). …

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