«parameters» 태그된 질문

매개 변수는 일반 및 데이터 중심으로 만들기 위해 사소하지 않은 모든 프로그램에 중요합니다. 매개 변수는 일반적으로 함수 인수이지만 구성의 일부일 수도 있습니다.

10
콜 체인에서 여러 수준으로 만 사용되는 전달 매개 변수의 (안티) 패턴 이름이 있습니까?
일부 레거시 코드에서 전역 변수 사용에 대한 대안을 찾으려고했습니다. 그러나이 질문은 기술적 대안에 관한 것이 아니며 주로 용어 에 대해 우려하고 있습니다. 확실한 해결책은 전역을 사용하는 대신 매개 변수를 함수에 전달하는 것입니다. 이 레거시 코드베이스에서는 값이 사용될 지점과 매개 변수를 먼저받는 함수 사이에서 긴 콜 체인의 모든 함수를 변경해야합니다. higherlevel(newParam)->level1(newParam)->level2(newParam)->level3(newParam) …

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

11
함수가 수용해야하는 매개 변수 수에 대한 지침이 있습니까?
내가 사용하는 몇 가지 함수에는 6 개 이상의 매개 변수가 있지만 대부분의 라이브러리에서는 3 개 이상의 함수를 찾는 것이 거의 없습니다. 이러한 많은 추가 매개 변수는 종종 함수 동작을 변경하기위한 이진 옵션입니다. 나는이 매개 변수가없는 함수 중 일부는 리팩토링되어야한다고 생각합니다. 너무 많은 숫자에 대한 지침이 있습니까?

14
함수에서 파라미터를 주문하는 가장 좋은 방법은 무엇입니까?
때때로 (드물게), 적절한 양의 매개 변수를 취하는 함수를 만드는 것이 가장 좋은 경로 인 것 같습니다. 그러나 내가 할 때 종종 매개 변수의 순서를 임의로 선택하는 것처럼 느낍니다. 나는 가장 중요한 매개 변수를 먼저 사용하여 "중요도 순서"로 이동합니다. 더 좋은 방법이 있습니까? 선명도를 높이는 매개 변수를 정렬하는 "모범 사례"방법이 있습니까?

10
사용자 정의 객체를 매개 변수로 사용하지 않아야합니까?
사용자 정의 객체 Student 가 있다고 가정합니다 . public class Student{ public int _id; public String name; public int age; public float score; } 그리고 학생의 정보를 표시하는 데 사용되는 Window 클래스 는 다음과 같습니다. public class Window{ public void showInfo(Student student); } 그것은 정상적인 것처럼 보이지만 Window 는 함수를 …

7
케이싱만으로 형식 이름과 다른 매개 변수 이름을 사용하는 것이 C #에서 나쁜 습관으로 간주됩니까?
클래스의 속성과 일치하는 매개 변수 이름과 관련하여 이와 비슷한 질문이 있지만 C #의 케이싱을 제외하고 매개 변수 유형 이름과 동일한 매개 변수 이름을 사용하는 것과 관련하여 아무것도 찾을 수 없습니다. 내가 찾을 수있는 위반 인 것 같지는 않지만 나쁜 습관으로 간주됩니까? 예를 들어 다음과 같은 방법이 있습니다. public Range PadRange(Range …

9
내 메소드에서 빈 콜렉션을 반복해야합니까?
메서드의 매개 변수를 반복하는 foreach 루프 내에서 모든 논리를 수행하는 방법이 있습니다. public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } 이 경우 빈 컬렉션을 보내면 빈 컬렉션이 생성되지만 이것이 현명하지 않은지 궁금합니다. 내 논리는 누군가 누군가 가이 메소드를 호출하면 …

13
부울 매개 변수를 사용하여 값을 결정하는 것은 잘못입니까?
에 따르면 이 동작을 결정하는 부울 매개 변수를 사용하는 것이 잘못인가? 부울 매개 변수를 사용하여 동작을 결정하지 않는 것이 중요하다는 것을 알고 있습니다. 원본 버전 public void setState(boolean flag){ if(flag){ a(); }else{ b(); } c(); } 새로운 버전: public void setStateTrue(){ a(); c(); } public void setStateFalse(){ b(); c(); } …

2
무제한의 매개 변수를 사용하는 메소드가 종종 더 적은 매개 변수로 과부하를 정의하는 이유는 무엇입니까?
예를 들어 System.IO.Path.Combine.NET 의 메서드에는 다음과 같은 오버로드가 있습니다. Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) 마지막 세 가지의 요점은 무엇입니까? 첫 번째 params키워드 는 키워드를 사용하여 자세히 살펴 보는 것처럼 모든 것을 다룹니다 . 이전 버전과의 호환성에 대한 논쟁은 Combine(String, String)변형이 .NET 4까지의 유일한 버전 …

9
작업을 수행하고 부울을 상태로 반환하는 메서드 이름을 지정하는 방법은 무엇입니까?
방법이 있다면 bool DoStuff() { try { // doing stuff... return true; } catch (SomeSpecificException ex) { return false; } } 오히려 호출해야 IsStuffDone()합니까? 사용자가 두 이름을 모두 잘못 해석 할 수 있습니다. 이름이 DoStuff()부울 인 이유는 무엇입니까? 이름이 IsStuffDone()확실하지 않은 경우, 메소드가 태스크를 수행하는지 또는 결과 만 확인하는지 명확하지 …

3
선택적 매개 변수 또는 오버로드 된 생성자
나는 DelegateCommand을 구현하고 있으며 생성자를 구현하려고 할 때 다음 두 가지 디자인 선택을 생각해 냈습니다. 1 : 여러 개의 오버로드 된 생성자 public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2 : 선택적 매개 변수를 가진 …

3
함수 매개 변수에 주석을 달지 않는 이유는 무엇입니까?
이 질문에 대답하기 위해 프로그래머의 마음에 드는 모호한 비용이 몇 번의 추가 키 입력보다 훨씬 비싸다고 가정 해 봅시다. 그렇다면 왜 팀원이 기능 매개 변수에 주석을 달지 않고 벗어날 수 있습니까? 훨씬 더 복잡한 코드가 될 수있는 예제로 다음 코드를 사용하십시오. let foo x y = x + y 이제 …
28 f#  parameters 

7
필수는 아니지만 선택적 매개 변수 이름을 지정 하시겠습니까?
다음 방법을 고려하십시오. public List<Guid> ReturnEmployeeIds(bool includeManagement = false) { } 그리고 다음 전화 : var ids = ReturnEmployeeIds(true); 시스템을 처음 사용하는 개발자의 경우 어떤 일을 true했는지 추측하기가 매우 어렵습니다 . 가장 먼저 할 일은 메소드 이름 위로 마우스를 가져 가거나 정의로 이동하는 것입니다 (두 가지 중 가장 큰 작업은 …

5
함수 호출의 다중 인수 대 단일 배열
매개 변수 집합을 가져 와서 SQL 쿼리의 조건으로 적용하는 함수가 있습니다. 그러나 조건 자체를 포함하는 단일 인수 배열을 선호했습니다. function searchQuery($params = array()) { foreach($params as $param => $value) { switch ($param) { case 'name': $query->where('name', $value); break; case 'phone': $query->join('phone'); $query->where('phone', $value); break; } } } 제 동료는 대신 …

6
전달 된 인수로 메소드를 용서해야합니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . foo(String bar)특정 기준에 맞는 문자열에서만 작동 하는 메소드 가 있다고 가정하십시오 . 예를 들어, 소문자 여야하며 비어 …
21 java  parameters 

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