<?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%3A1.3</id>
	<title>SmalltalkBestPracticePatterns:1.3 - 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%3A1.3"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=SmalltalkBestPracticePatterns:1.3&amp;action=history"/>
	<updated>2026-05-01T14:28:59Z</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:1.3&amp;diff=3480&amp;oldid=prev</id>
		<title>Onionmixer: SBPP 1.3 말하는 프로그램 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=SmalltalkBestPracticePatterns:1.3&amp;diff=3480&amp;oldid=prev"/>
		<updated>2013-07-06T04:02:27Z</updated>

		<summary type="html">&lt;p&gt;SBPP 1.3 말하는 프로그램 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;1.3 말하는 프로그램&lt;br /&gt;
&lt;br /&gt;
==말하는 프로그램==&lt;br /&gt;
&lt;br /&gt;
프로그램이 당신에게 말을 한다는 걸 알고 있는가? &amp;quot;Buy more Jolt Cola&amp;quot; 와 같은 메시지를 의미하는 게 아니라, 시스템을 어떻게 구성해야 하는지에 대한 중요한 정보를 말하는 것이다. &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;이 부분은 여기 넣어야 할 것 같은데요.&amp;quot;&lt;br /&gt;
:&amp;quot;안 돼요. 그렇게 작동하는 게 아니잖아.&amp;quot;&lt;br /&gt;
:&amp;quot;잠시만요. 이렇게 하면 좀 더 읽기 쉽고 유연하지 않을까요?&amp;quot;&lt;br /&gt;
:&amp;quot;그렇지만 그건 객체가 하는 일이 아니잖아요.&amp;quot;&lt;br /&gt;
:&amp;quot;우선 해 보고 결정하죠.&amp;quot;&lt;br /&gt;
:...중얼 중얼 중얼...&lt;br /&gt;
:&amp;quot;어! 더 괜찮네요.&amp;quot;&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;
&lt;br /&gt;
이러한 패턴들은 찾아야 할 문제와 그에 대한 해결방법으로 구성된 도구상자를 제공한다. 시간이 지나면서 생겨나는 문제들이 처음에 비해 작다는 사실을 발견할 것이다. 처음부터 코드를 올바르게 작성하는 기술이 필자보다 더 발전하길 바란다. 필자는 아직도 궁지에 몰리는 상황이 자주 발생한다.&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>