사소한 소프트웨어와 사소한 소프트웨어를 구별하는 방법은 무엇입니까? [닫은]


11

그렇다면 실제로 프로그램을 사소하게 만드는 것은 무엇입니까?

'사소한 소프트웨어가 아니라면'프로그래밍 토론에 자주 사용됩니다. 나는 '사소하지 않은 소프트웨어 때문에 무언가가 필수적인가'또는 '뭔가 매우 중요해 졌기 때문에 사소한 소프트웨어가 아닌지'라는 것을 실제로 알 수 없다는 의미에서 매우 모호합니다.

예를 들어, 단위 테스트 문제에 대해 여러 번, '사소한 것이 아니라면 단위 테스트가 필요합니다'라는 말을 듣습니다.


9
내가 함께 일한 일부 프로그래머들에 의해 판단 할 때, 그들에 대한 구별은 "당신의 코드는 사소한 것이지만 내 코드는 그렇지 않다"고 생각했다.
PSU

이 인용문이 사용 된 프로그래밍 토론을 제공 할 수 있습니까? 답변에 다른 해석이있는 것 같습니다.
Steven Jeuris

업데이트 된 질문을 확인하십시오.
NVM

답변:


12

나는 여기서 사지로 나가서 말합니다.

사소한 프로그램은 비즈니스에 직접 영향을 미치지 않는 프로그램입니다.

제조 회사는 회계 소프트웨어를 사소한 것으로 생각하지만 끓는 강철을 움직이는 로봇 팔을 제어하는 ​​소프트웨어가 중요합니다. 전자의 경우 버그와 낮은 지원 소요 시간을 처리 할 수 ​​있지만 후자는 아닙니다. 문제가 있으면 지금 해결해야합니다 .


다른 답변에는 더 많은 포인트가 있지만이 답변이 가장 좋습니다. 나는 내가하고있는 일이 사소한 것인지 아닌지 완전히 확신하지 못하기 때문에 질문을했다. 이것이 '사업'에 의해 사소한 것으로 간주되는지 여부를 파악하는 확실한 방법입니다. 예를 들어. 사소한 소프트웨어는 단위 테스트없이 벗어날 수 있으며 실제로 코드 라인이나 복잡성에 의존하지 않습니다. 중요한 것은 비즈니스에 중요한지 여부입니다.
NVM

+1, 좋은 지적. 회사 대주들은 때때로 "사소한"것으로 간주되는 것에 대해 매우 다른 생각을 가지고 있습니다 . 이것을 반영하기 위해 답변에 몇 가지를 추가했습니다.
FrustratedWithFormsDesigner

+1-이 답변은 질문에 적용되는 용어의 컨텍스트를 가장 잘 설명한다고 생각합니다. 다른 "고점 답변"은 정확하지만 일반적인 상황에서만 가능합니다. 나는 이것이 고려 된대로 투표에서 그것을 능가 할 것이라고 확신합니다.
Joel Etherton

2
소프트웨어 개발자가 사소한 말을하면 일반적으로 비즈니스 영향이 아니라 소프트웨어의 복잡성을 말합니다. A에서 B로 일부 파일을 복사하는 스크립트는 사소한 것이지만 작동하지 않으면 비즈니스에 직접적인 영향을 줄 수 있습니다.
JacquesB

16

그 진술의 가장 일반적인 의도는 프로그램이 다음과 같은 특징을 갖는 것이라고 생각합니다.

  • 작습니다.
  • 짧은 수명.
  • 추가 확장이 필요 없습니다.
  • 한 명의 개발자 만

2
+1,이 모든 것이 중요합니다. 불행히도, 끊임없이 변화하는 요구 사항을 가진 세계에서는 때때로 "사소한"소프트웨어를 자연 수명 이상으로 확장해야합니다.
l0b0

1
LOC 측면에서 작고 컴파일 된 이진 크기 측면에서 작고 개발에 소요되는 시간 측면에서 작습니까? 또한 나는 짧은 수명이 사소한 것을 의미하지 않으며 사소한 것이 짧은 수명을 의미하지 않는다고 주장합니다. 6 개월의 리프트 만 지원되는 소프트웨어가 최소 2 배 이상 개발되어 중요한 브리지 시스템 인 사례를 보았습니다. 나는 정확히 한 번만 사용 된 데이터 변환 시스템을 볼 수 있지만 년 이상 개발했고 있었다 것 까지 사소한에서. 그리고 지뢰 찾기와 같은 사소한 프로그램은 수명이 매우 긴 것 같습니다.
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner : 100x100px 크기의 창처럼 작습니다. ; p 나는 코드를 작성해야하는 시간에 비례하여 작성해야하는 코드 줄처럼 작다는 것을 의미합니다. 수명은 필수는 아니며, 옳습니다. 그러나 단순한 접근법과 비교하여보다 진보 된 접근법을 논의 할 때 특징적입니다.
Steven Jeuris

낮은 LOC는 항상 사소한 것을 의미한다고 동의하지 않습니다. 때로는 프로그램에서 가장 복잡한 부분, 가장 어려운 부분, 가장 까다로운 알고리즘이 <Lines of Code에 맞습니다. 그리고 대부분 수백 줄의 자동 생성 게터 / 세터 인 프로그램은 개발자가 필요로하지 않더라도 사소한 것입니까?
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner : 나는 당신이 질문과 다른 해석을 가지고 있다고 생각합니다. 내 대답은 사소한 솔루션과 복잡한 솔루션을 결정한다는 사실과 관련이 있습니다. 귀하의 답변은 해결하기 어려운 '어려운'대 '쉬운'문제와 관련이 있습니다. 아마도 OP의 질문은 약간 명확해야합니다.
Steven Jeuris

14

바이너리와 소스를 완전히 버림으로써. 누군가 알아 차리면 사소한 것이 아닙니다.


6
+1 그것은 나를 웃게 만들었고 또한 의미가 있습니다.
NVM

8

사소한 ...

  • 이미 존재하는 것인데 왜 바퀴를 다시 발명해야합니까?
  • 다른 프로그램을 함께 스크립팅하거나 필요한 작업을 수행하는 기존 라이브러리를 많이 사용하는 작은 코드를 작성하여 쉽게 만들 수있는 것입니다.
  • 평균 CS 학점 학생이 중소 과제 과제로 할 수있는 것.
  • 칵테일 냅킨에 쉽게 들어갈 수있는 세부적인 요구 사항이있는 것.
  • 주의가 산만하거나 취한 상태에서 4 분 또는 5 분의 여유 시간에 코딩 할 수있는 것
  • 간단한 코드 생성 도구로 만들 수있는 것입니다.

회사 환경에서 다음을 추가합니다.

  • 비즈니스 사용자가 수정을 위해 잠시 기다리지 않아도되는 것.
  • IT의 공식적인 지원 이없는 내부적으로 사용되는 것 .
  • 자원 계획 및 스케줄링을 수행 할 때 비즈니스에서 가장 낮은 우선 순위 중에서 우선 순위를 정하는 것.

4

나는 사소한 프로그램을 합리적으로 코딩 할 수있는 것으로 정의 할 것이다.

  • 한 번에.
  • 단일 파일 / 모듈로서 (자바로 프로그래밍하지 않거나 모듈을 세분화하는 언어로 가정한다고 가정).
  • 전문가가 아닌 괜찮은 "모든 거래의 잭"프로그래머.

3

다음은 "사소한"프로그램의 예입니다.

  1. 기술과 샘플 코드를 시험해 볼 수 있도록 설정하고 코딩을 시작한 "더미"프로젝트. 어떤 사람에게도 배포하거나 보여줄 의도가 없습니다.
  2. 기술 프리젠 테이션을 위해 작성된 데모 코드.
  3. "일회성". 한 번 사용하기 위해 빌드해야했던 빠른 응용 프로그램을 의미합니다. 왜냐하면 데이터가 특정 방식으로 이동 해야하는 이상한 상황이거나 더 영구적 인 것으로 즉시 대체 될 수 있기 때문입니다.

3

Trival 소프트웨어는 당신이 요구하고있을 것이다 것들을 때이다, 존재하지 않는 trival을 현실에서 항상 때 비 trival

10 년 전에 유즈넷에서 본 인용문이 있습니다.

소프트웨어 솔루션의 복잡성은 수행해야 할 작업에 대한 설명의 복잡성과 반비례합니다. - 불명


-1

getter / setter 메소드에 불과한 프로그램입니다. 프로그래밍 로직이 없습니다. 아마도 몇 개의 루프가있는 것 같습니다.

그것이 사소한 정의입니다.


-1

우리의 작업 정의는 "다른 것에 의존하지 않는 것"입니다.

불행히도 사소한 생산 제품이 된 몇 가지 사소한 프로토 타입이있었습니다.


-3

또한 프로그램이 전체 프로젝트 계획에 미치는 영향의 맥락에서 사용되었다고 들었습니다. 특정 사양으로 인해 제품 배송 일정이 변경되지 않으면 사소한 레이블로 분류됩니다.

나는 "사소한 것"을 "토론 할 가치조차 없다"의 동의어로 사용하는 경향이있는 한 프로그래머를 알고 있었다.

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