<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=SmalltalkBestPracticePatterns%3A7.8</id>
	<title>SmalltalkBestPracticePatterns:7.8 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=SmalltalkBestPracticePatterns%3A7.8"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=SmalltalkBestPracticePatterns:7.8&amp;action=history"/>
	<updated>2026-05-01T14:28:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=SmalltalkBestPracticePatterns:7.8&amp;diff=3557&amp;oldid=prev</id>
		<title>Onionmixer: SBPP 7.8 Simple Enumeration Parameter (간단한 열거 파라미터) 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=SmalltalkBestPracticePatterns:7.8&amp;diff=3557&amp;oldid=prev"/>
		<updated>2013-07-29T09:56:27Z</updated>

		<summary type="html">&lt;p&gt;SBPP 7.8 Simple Enumeration Parameter (간단한 열거 파라미터) 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;7.8 Simple Enumeration Parameter (간단한 열거 파라미터)&lt;br /&gt;
&lt;br /&gt;
==Simple Enumeration Parameter (간단한 열거 파라미터)==&lt;br /&gt;
&lt;br /&gt;
* 파라미터를 열거 블록으로 어떻게 호출하는가?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이름마다 가능한 한 많은 의미를 포장하는 것은 매우 매력적이다. 클래스, 인스턴스 변수, 메시지는 확실히 세심한 주의를 필요로 한다. 이러한 요소들 각각은 당신이 프로그래밍을 하는 동안 당신의 의도를 상당히 많이 전달할 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
일부 변수들은 그러한 주의를 받을 자격이 없다. 항상 동일한 방식으로 사용되는 변수, 즉 컨텍스트에서 의미를 쉽게 이해할 수 있는 경우에는 창의성보다 일관성을 요구하라. 불분명한 정보는 프로그램으로 전달되지 않으므로 그러한 변수를 세심하게 명명하는 것은 낭비다. 심지어 독자가 존재하지 않는 변수로 의미를 돌리기라도 하는 경우엔 역효과가 발생할 수도 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 파라미터를 &amp;quot;each&amp;quot;라고 불러라. 중첩된 열거 블록을 가진 경우 모든 파라미터명 앞에 설명적 단어를 붙여라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
예를 들어, 아래 코드에서 &amp;quot;each&amp;quot;의 의미는 분명하다:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
self children do: [:each | self processChild: each]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
블록이 좀 더 복잡할 경우 each는 충분히 기술적이지 못할지도 모른다. 그런 경우 Composed Method(구성 메서드)를 호출하여 블록을 단일 메시지로 바꾸어야 한다. 새로운 메서드에서 Type Suggesting Parameter(타입을 제안하는 파라미터)는 객체의 의미를 명확하게 알려줄 것이다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
중첩된 블록의 일반적인 예로, 비트맵의 두 가지 차원(dimension)를 반복하는 것을 들 수 있다:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
1 to: self width do:&lt;br /&gt;
    [:eachX |&lt;br /&gt;
        1 to: self height do:&lt;br /&gt;
        [:eachY | ...]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
컬렉션과 다르게 반복하는 중첩된 블록은 아마도 Composed Method를 이용해 팩토링되어야 할 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;열거 블록의 간소화를 위해 Composed Method(구성 메서드)가 필요할지 모른다.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:SmalltalkBestPracticePatterns]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>