Intention Revealing Message ¶
ParagraphEditorλΌλ ν΄λμ€μμ highlightλΌλ λ©μΈμ§λ₯Ό λ΄€λ€. λΉμ μ 'μ€, μ¬λ―Έμκ² λκ±Έ.' νκ³ λ³Έλ€. μ½λλ λ€μκ³Ό κ°λ€.
class ParagraphEditor { public: void highlight(Rectangle& r) { reverse(r); }μ΄λ»κ² λ건κ°? μμ¬μν΅μ΄λ€. ν μ€μ λ©μλκ° μμ¬μν΅μ κ°μ₯ μ€μνλ€.(?) μ¬μ©μμ μ μ₯μμλ κ·Έλ₯ highlightλΌλ λ©μΈμ§μ μμλ§ λ£μ΄μ 보λ΄λ©΄ λλ κ²μ΄λ€. μ¬κ°νμ λ€μ§μμΌλ‘μ¨ highlightλλ€λ μ¬μ€μ λͺ°λΌλ λλ κ²μ΄λ€. IntentionRevealingMessageλ μ»΄ν¨ν°λ₯Ό μνλ€κΈ°λ³΄λ€λ μ¬λμ μν κ°μ₯ κ·Ήλ¨μ μΈ ννμ ν¨ν΄μ΄λ€. μλμ ꡬνμ λΆλ¦¬νμλ κ²μ΄λ€. λ©μΈμ§μ μ΄λ¦μ κ·Έ λ©μΈμ§ λ΄μμ μ΄λ»κ² λλ건κ°λ‘ μ§μ§ λ§κ³ , κ·Έ λ©μΈμ§κ° 무μμ νλ건κ°λ‘ μ§μ.
μμ λͺκ°
class Collection { bool isEmpty() { return size == 0; } }; class Number { Number reciprocal() { return Number(1/this.num); } }; class Object { bool operator==(const Object& other) { return this == *other; } };
κ²°κ΅ μ΄λ¦μ μ μ§μλ μ΄μΌκΈ°λ€. κ°λ¨νμ§λ§ μμ μ€μ!