Loading...
Joel Spolsky / éć¨é 訳
2005ĺš´5ć11ćĽ ć°´ć
ç§ăćĺăŽćŹĺ˝ăŽäťäşăăŻăăăăŽăŻ1983ĺš´9ćăŤéĄăăăăăŻăŞăŠăă ă¨ăăă¤ăšăŠă¨ăŤăŽĺ¤§ăăŞčŁ˝ăăłĺˇĽĺ ´ă§ă16ĺ°ăŽéŁčĄćŠăťăŠăăă塨大ăŞăŞăźăăłă§ăćŻćŠ10ä¸ĺăŽăăłăä˝ăăăŚăăă
ăŻăăăŚĺˇĽĺ ´ăŤĺ
ĽăŁăćăăăŽăăžăăŽćąăăŤäżĄăăăăŞăćăă ăŁăăăŞăźăăłăŽĺ´é˘ăŻéťă°ăă§ăăăăćŠć˘°ăŻéăłăŚăăŚăăăăăă
ăă沚ă ăăă ăŁăă
ăăă¤ăăăăŞăŤćąăăŽ?ăă¨ç§ăŻčăăŚăżăă
ăăŞăă ăŁăŚ? ăŞăăŽčŠąăăăŚăăă ?ăă¨ăăăźă¸ăŁăçăăăăćé¤ăăă°ăăă ăăăäťăä¸çŞăăăăŞçść
ăŞăă ă
ăŞăăŚăăŁăă
ćŻćăŽĺˇĽĺ ´ăŽć¸
ćăä˝ăśćăçśăăŚăăăăă彟ăăŽč¨ăŁăŚăăăă¨ăç解ă§ăăăăăŤăŞăŁăăăăłĺˇĽĺ ´ă§ăŻăăăăă¨ăăăŽăŻćŠć˘°ăŤăăłçĺ°ăäťăăŚăŞăăă¨ăč¨ăăŽă ăăăăă¨ăăăŽăŻăă´ă玹ăŤçşé
ľăăăăłçĺ°ăĺ
ĽăŁăŚăŞăăă¨ăč¨ăăŽă ăăăăă¨ăăăŽăŻăĺşăŤăăłçĺ°ăă¤ăăŚăŞăăă¨ăč¨ăăŽă ă
ăăăă¨ăăăŽăŻăăŞăźăăłăç˝ăăăăăŤăăłăăĺĄăăăŚăăăă¨ăăăăŽă§ăŻăŞăăăŞăźăăłăŽăăłăĺĄăăčĄăăăăŽăŻ10ĺš´ăŤ1ĺă¨ăăŽăăŽă§ăćŻćĽăăăă¨ă§ăŻăŞăăăăăă¨ăăăŽăŻć˛šăă¤ăăŚăŞăă¨ăăăă¨ă§ăŻăŞăăĺŽéćŠć˘°ăŽĺ¤ăăŻĺŽćçăŤć˛šăăăăŚăăĺż
čŚăăăăčăăăăăŞć˛šăŽĺą¤ăŻé常ćŠć˘°ăć¸
ćăăăă°ăăă§ăăăă¨ăćĺłăăŚăăă
ăăłĺˇĽĺ ´ă§ăăăă¨ăăăŽăăŠăăăăă¨ăćăăŽăăŻăĺŚă°ăŞăă¨ăăăăŞăăă¨ăŞăŽă ăéĺ¤ćź˘ăŤăŻăăŽĺ ´ćăăăăăŞăŽăćąăăŽăĺ¤ćăăăŽăŻä¸ĺŻč˝ă ăéĺ¤ćź˘ăŻăăłçĺ°ăăćŠ(ĺłăŽĺçăŤăăăăăłçĺ°ăŽĺč§ăĺşăžăăăăźăŤăŤăăćŠć˘°)ăŽĺ
ĺ´ăŤăăłăă¤ăăćŽăŁăŚăŞăăčŚăăŚăżăăă¨ăŻćąşăăŚćăăŞăăéĺ¤ćź˘ăŻĺ¤ăăŞăźăăłăŽăăăŤăč˛č˝ăĄăăŚăăăŽăć°ăŤăăăăăăăŻăăăŤăçŽçŤă¤ăăă ăăăăăăłčˇäşşăŻăŞăźăăłăŽĺ¤ĺ´ăŽăăłăăéťč˛ăăŞăăăăŚăăŚăăăăăŁă˝ăŁăĄăć°ăŤăăŞăăăăłăŽĺłăŤăŻĺ˝ąéżăăŞăăăă ă
ăăłĺˇĽĺ ´ă§2ăľćéăăă°ăăăăăăŠăăăčŚăăćšćłăĺŚăśăăăŤăŞăă
ăăă°ăŠă ăŽăłăźăăĺăă ă
ăăŞăăĺĺżč
ăăă°ăŠăăăăăăăŻĺăăŚä˝żăč¨čŞăŽăłăźăăčŞăăă¨ăăă¨ăăăŠăŽé¨ĺăĺăăăăŤä¸ĺŻč§ŁăŤčŚăăăăăŽăăă°ăŠăăłă°č¨čŞăç解ăăăăăŤăŞăăžă§ăŻăç°ĄĺăŞăˇăłăżăăŻăšă¨ăŠăźăŤăăć°ăă¤ăăŞăă
ĺŚçżăŽćĺăŽăă§ăźăşăŤăăăŚăç§ăăĄăăăłăźăăŁăłă°ăšăżă¤ăŤăă¨ĺźăă§ăăăăŽăčŞčăăăăăŤăŞăăăăăăŚć¨ćşçăŞă¤ăłăăłăăŽäťăćšăŤĺăŁăŚăŞăă¨ăăăăĺ¤ć°ĺăŽĺ¤§ćĺ/ĺ°ćĺăĺ¤ăŞă¨ăăăŤć°ăĽăăăăŤăŞăă
ăăŽććăŤĺ
¸ĺçăŞăă¨ăŻăć°´ăśăăăŽăă¸ăăăżăăă ăä¸č˛ŤăăăłăźăăŁăłă°čŚĺăăŞăăă ăă ăăżăăăŞăă¨ăč¨ăŁăŚă揥ăŽćĽăăăźă ăŽăăăŽăłăźăăŁăłă°čŚĺăć¸ăăăăŤä˝żăăăăŽăă¨6ćĽéă§ăĺŻä¸ćŁăăćŹĺź§äťăăŽăšăżă¤ăŤăăŤă¤ăăŚč°čŤăăăăŽăă¨ăŽ3éąéăĺ¤ăăłăźăăăĺŻä¸ćŁăăćŹĺź§äťăăŽăšăżă¤ăŤăăŤĺăăăć¸ăç´ăăŽăŤč˛ťăăăăăăăŤć°äťăăăăăźă¸ăŁăăĺ
¨çśăéăŤăŞăăŞăăă¨ăŤćéă使ăŁăŚăăăă¨ă§ćéł´ăă¤ăăăăăăă§ă˝ăźăšăŤćăĺ
Ľăăĺż
čŚăĺşăćă¤ăă§ăŤăăŠăźăăăăç´ăăŽă§ăĺĽăŤćŞăăŞăă¨ćăç´ăăĺĺă ăăćŁăăćŹĺź§äťăăšăżă¤ăŤăă¨ăăçść
ăŤăŞăŁăŚăăžăăăăăăŞăă¨ăŻăăăŤĺżăăăăăŚăăăžăĺĽăŞä˝ăă1ă¤ăŽćĺĺăŻăŠăšăĺĽăŞćĺĺăŻăŠăšă§ç˝Žăćăăă¨ăăăăăŞăăéăŤăŞăăă¨ă¨ăŻçĄé˘äżăŞăă¨ăŤĺżă弪ăăăăŽă ă
ăăŽç°ĺ˘ă§ăłăźăăć¸ăăă¨ăŤăăăŤçéăăŚăăă¨ăăăŁă¨ĺĽăŞăă¨ăŤć°ăĽăăăăŤăŞăăăžăŁăăĺćłă§ăăłăźăăŁăłă°čŚĺä¸ăŻăžăŁăăĺéĄăŞăăŽă ăăăăăä˝ăä¸ĺŽăŤăăăăăăŞăă¨ăŤă ă
Cč¨čŞăŽäžăćăăă¨:
char* dest, src;
ăăŽăłăźăăŻćŁăăăăłăźăăŁăłă°čŚĺăŤăĺăŁăŚăăăăăăăŞăăăćĺłăăéăăŽăłăźăăŞăŽăăăăăŞăăăăăCăŽăłăźăăć¸ăçľé¨ăçŠăă§ăăă°ădestăcharăă¤ăłăżă厣č¨ăăŚăăä¸ćšăsrcăŻăă ăŽcharĺăŞăă¨ăŤć°äťăă ăăăăăăćĺłăăéăă¨ăăĺŻč˝ć§ăăăăăăăăăăŻăăă§ăŻăŞăăăăŽăłăźăăŻĺ°ăĺŤăŞčăăăăăŽă ă
ăăŁă¨ĺžŽĺŚăŞäžă¨ăăŚăŻ:
if (i != 0)
foo(i);
ăăŽĺ ´ĺăăłăźăăŻ100%ćŁăăăăťă¨ăăŠăŽăłăźăăŁăłă°čŚĺăćşăăăăžăăăă¨ăŻä˝ăăŞăăŽă ăăifćăŽćŹä˝ăćŹĺź§ă§ăăăăăŚăăŞă1čĄăŽăšăăźăăĄăłăăŤăŞăŁăŚăăăŽăăăŞăăŤä¸ĺŽăćąăăăăăăă¨ăăăŽăăĺžă§čŞ°ăăăă1čĄčż˝ĺ ăăăăăăăŞăăăă :
if (i != 0)
bar(i);
foo(i);
ăăăŚćŹĺź§ăă¤ăĺżăăăçľćă¨ăăŚ**foo(i)**ăŻçĄćĄäťśăŤĺŽčĄăăăăăăŤăŞă! ă ăăăăŞăăŻćŹĺź§ăŤĺ
ĽăŁăŚăăŞăăăăăŻăčŚăă¨ăä˝ăăťăăŽăăăăăĄăăŁă¨ăăćąăăćăăăăăŤăŞăăä¸ĺŽăčŚăăăŽă ă
ăăăžă§ă§ăăăă°ăŠăăŽćéˇăŽ3ă¤ăŽćŽľéă示ăăă
-
ăăăăŞăăŽă¨ćąăăăŽăŽĺşĺĽăă¤ăăŞăă
-
ăăăăăŤă¤ăăŚčĄ¨é˘çăŞčăăćăŁăŚăăăăăŽăťă¨ăăŠăŻăłăźăăŁăłă°čŚĺăŤĺăŁăŚăăăăŠăăă¨ăăăŹăăŤă ă
-
ăłăźăăŽăăăŞăăŤă¤ăăŚă襨é˘çă§ăŞăĺ°ăăŞĺ
ĺăĺ
ăă¤ăăăăăŤăŞăăć°ăŤăŞăŁăŚăłăźăăç´ăăăăŤăŞăă
ăăăăăăăăŤéŤăăŹăăŤăăăăăăăăç§ăćŹĺ˝ăŤčŠąăăăă¨ćăŁăŚăăăăŽă ă
-
ăłăźăăç´ăăăăŤćąăăłăźăăŤĺŻžăăĺ
čŚăçăăăăăăŞäťçľăżăăćĺăăä˝ăčžźăăăăŤăŞăă
ăăăăćŹĺ˝ăŽă˘ăźăă ăă¨ăŠăźăçťé˘ăăéŁăłĺşăăŚčŚăăăăăŞčŚĺăčćĄăăăă¨ăŤăăŁăŚăé 埡ăŞăłăźăăä˝ăĺşăăŽă ă
ă§ăŻăĺ°ăăŞäžă§čŚăŚăăăă¨ăŤăăăăăăŽăă¨é 埡ăŞăłăźăăŽăăăŽčŚĺăčćĄăăăŽăŤä˝żăăä¸čŹçăŞăŤăźăŤă示ăăćĺžăŤăăă税ăŽ(äşşă
ăäšăçŠé
ăăćăăéĄăŽăăŽă§ăŻăŞă)ăăłăŹăŞă˘ăłč¨ćłăŽćčˇăčĄăăăăăŚăăçśćłăŤăăăäžĺ¤ăŽä˝żç¨ăćšĺ¤ăă(ăă ăăăăŻăăăăćŽćŽľăăŞăăç´é˘ăăŚăăăăăŞçśćłă§ăŻăŞă)ă
ăăŞăăăăłăŹăŞă˘ăłč¨ćłăŻćŞă§ăăăäžĺ¤ăŻăă§ăłăŹăźăăăŤăŻăťăźă䝼ćĽăŽćčŻăŽçşćă§ăăă¨äżĄăăŚçăăăäťăŽćčŚăŤăŻčłăĺžăăă¤ăăăăŞăăŽăŞăăçľć§ăăăăăŤăăźăŞăźăŽăľă¤ăăŤčĄăŁăŚăăă°ăăăăłăăăŻăčŞăă¨ăăăăăśăăăŞăăŻĺ¤§ăăŚćăăăă¨ăŤăŻăŞăăŞăă ăăăĺŽéăăŽăă¨ăăăç§ăŻăăŞăăĺą
ç ăăăăăăăŞăłăźăäžă示ăă¤ăăă ăă ăăăăŞăăŻćăăŻăăăĺăŤç ăčžźăă§ăăžăă ăăăă¤ăžăăç§ăŽăăŠăłăŻăăăŞăăăăŁăăç ăčžźăžăăăăŽéăŤăăłăŹăŞă˘ăł=čŻăăäžĺ¤=ćŞăăă¨ăăă˘ă¤ăă˘ăăăăčžźăžăăŚăăžăăă¨ăăăăŽăŞăŽă ăăăŞăăŻç ăăŁăŚćľćăă§ăăŞăă ăăă
äž
ăăăäžăčŚăăăăăŞăăŻWebăăźăšăŽă˘ăăŞăąăźăˇă§ăłăä˝ăŁăŚăăăăŽă¨ăăăăčĽăäşşăăĄăŽéă§ćčżćľčĄăŁăŚăăăżăăă ăăă
ăŻăăšăľă¤ăăšăŻăŞăăăŁăłă°ăĺĽĺXSSă¨ĺźă°ăăŚăăăťăăĽăŞăăŁčĺźąć§ăăăăăăžă芳ăă誏ćăŻăăŞăăăWebă˘ăăŞăąăźăˇă§ăłăä˝ăă¨ăăŤăŻăŚăźăśăăăŠăźă ă§ĺ
ĽĺăăćĺĺăăăŽăžăžčżăăŚăŻăăăŞăăă¨ăăăă¨ăă¨ăăăăçĽăŁăŚăăăŚăăăăă°ăăă
ăă¨ăă°ăăăšăăăăŻăšăĺşăăŚăăăŞăăŽĺĺăŻ?ăă¨čłŞĺăăăăźă¸ăăăŁăŚăé俥ăăă¨ĺĽăŞăăźă¸ăŤăăăăŤăĄăŻăă¨ăŤăăź!ăă¨čĄ¨ç¤şăăăă¨ăă(ăŚăźăśăŽĺĺăă¨ăŤăăźă ă¨ăăŚă )ăăăŽĺ ´ĺăăťăăĽăŞăăŁčĺźąć§ăăăŁăŚăăăăŻăŚăźăśăăă¨ăŤăăźăăŽäťŁăăŤăăăăĺĽĺŚăŞHTMLăJavaScriptăĺ
Ľĺă§ăăăăŽĺĽĺŚăŞJavaScriptăłăźăăŤăŻăăăăăŞĺŤăăăăă¨ăăăăăă¨ăă§ăăŚăăăŽĺŤăăăăă¨ăăăŽăľă¤ăăăăŁăŚăăăăăŤčŚăăăŽă ăăăă§ĺ˝źăăŻăŻăăăźăčŞăżĺăŁăŚDr.EvilăŽăľă¤ăăŤé俥ăăă¨ăăŁăăă¨ăă§ăăăăăŤăŞăă
ćŹäźźăłăźăăć¸ăăŚăżăăă
s = Request("name")
ăăŽăłăźăă§ĺ
Ľĺ(POSTĺźć°)ăHTMLăăŠăźă ăăčŞăżčžźăăă¨ăăăăăăŞăă䝼ä¸ăŽăăăŤć¸ăăă¨ăăă¨ăăăŞăăŽăľă¤ăăŻXSSćťćăŤĺŻžăăŚčĺźąć§ăćă¤ăă¨ăŤăŞă:
Write "Hello, " & Request("name")
ăăă ăăŽăă¨ă§ăăăŞăăŽă ă
ăłăăźăăćĺĺăHTMLăŤć¸ăĺşăĺăŤă¨ăłăłăźăăăĺż
čŚăăăăă¨ăłăłăźăă¨ăăăŽăŻă"ă"ă§ç˝Žăćăăăă>ă>ă§ç˝Žăćăăăăăăă¨ăăăă
Write "Hello, " & Encode(Request("name"))
ăăć¸ăăŽă§ăăă°ĺŽĺ
¨ă ă
ăŚăźăśăŤçąćĽăăćĺĺăŻăăšăŚĺŽĺ
¨ă§ăŻăŞăăĺŽĺ
¨ă§ăŞăćĺĺăă¨ăłăłăźăăăăŤĺşĺăăŚăŻăăăŞăă
ăăŞăăăăŽééăăçŻăăă¨ăăŤăăłăźăăăă ééăŁăŚăăăăŤčŚăăăłăźăăŁăłă°čŚĺăä˝ăŁăŚăżăăăééăŁăăłăźăăééăŁăŚčŚăăăŞăăăăŽăłăźăăăăăŁăŚăăäşşăăŹăăĽăźăăäşşăŽçŽăŤă¨ăžăĺŻč˝ć§ăăăă
解湺ćł1
1ă¤ăŽč§ŁćłăŻăăŚăźăśăăćĽăćĺĺăăăšăŚăĺłĺş§ăŤă¨ăłăłăźăăŁăłă°ăăă¨ăăăăŽă ă
s = Encode(Request("name"))
ăăŽčŚĺă§ăŻăEncodeă§ĺ˛ăžăăŚăăŞăRequestăăăă°ăăăăŻčޤăă ă¨ăăăă¨ăŤăŞăă
ăăŞăăŽçŽăŻăčŚĺăŤĺăăŚăă裸ăŽRequestăăŞăăć˘ăăăăŤăŞăă ăăă
ăăŽčŚĺăŤĺžăŁăŚăăă°XSSăă°ăăŞăăŞăă¨ăăçšă§ăŻăăăŽčŚĺăŻä¸ćăćŠč˝ăăăăăăăăăŻćéŠăŞă˘ăźăăăŻăăŁă¨ăăăăă§ăŻăŞăăăă¨ăă°ăăŞăăŻăŚăźăśăŽĺ
ĽĺćĺĺăăŠăŁăăŽăăźăżăăźăšăŤć źç´ăăăă¨ćăăăăăăăăăźăżăăźăšăŤĺ
ĽăăćĺĺăHTMLă¨ăłăłăźăăăă¨ăăăŽăŻćĺłăăŞăăăăŽćĺĺăŻHTMLăăźă¸äťĽĺ¤ăŽćăŤčĄăăăă§ăăŻăŹă¸ăăăŤăźăĺŚçă˘ăăŞăąăźăˇă§ăłăHTMLă¨ăłăłăźăăăăćĺĺăéŁăăăăă桡䚹ăăăă¨ă ăăăăťă¨ăăŠăŽWebă˘ăăŞăąăźăˇă§ăłăŻăĺ
é¨çăŞćĺĺăŻă¨ăłăłăźăăăăHTMLăăźă¸ăŤĺşĺăăç´ĺăŤă¨ăłăłăźăăăă¨ăăĺĺă§éçşăăăŚăăăăăăŻăăśăćŁăăă˘ăźăăăŻăăŁă ă
ç§ăăĄăŻĺŽĺ
¨ă§ăŞă形ăŽăăŽăăă°ăăćąăăŞăăă°ăŞăăŞăăŽă ă
OKăăăä¸ĺşŚăăŠă¤ăăŚăżăăă
解湺ćł2
ćĺĺăĺşĺăăă¨ăăŤăŻĺż
ăă¨ăłăłăźăăăăă¨ăăăłăźăăŁăłă°čŚĺăŤăăăăŠăă ăă?
s = Request("name")
// ăăŁă¨ĺžă§
Write Encode(s)
ăăăăă¨ăEncodeăŽăŞă裸ăŽWriteăčŚăăăä˝ăăééăŁăŚăăă¨ăăăă
ăăăăăăŻăăžăăăžăăăăŞăシシシă¨ăăŠăăĄăăŁă¨ăăHTMLă使ăĺż
čŚăăăăăăăŻă¨ăłăłăźăăăăăăŤăăăŞăăŽă ă
If mode = "linebreak" Then prefix = "<br>"
// ăăŁă¨ĺžă§
Write prefix
ăăăăăŽăŻăĺşĺăăă¨ăăŤă¨ăłăłăźăăăăă¨ăăčŚĺăŽĺ
ă§ăŻééăŁăŚăăăăăŤčŚăăă
Write Encode(prefix)
ăăăăăăăŚăăžăă¨ă**"
"ăŻćščĄăŽă¤ăăăŞăŽăŤă<br>ă¨ă¨ăłăłăźăăăăăŚăźăśăŤćĺéăăŽ< b r >**ăčŚăăăă¨ăŤăŞăăăăăăžăćŁăăăŞăă
ă ăăćĺĺăčŞăżčžźăă ćăŤă¨ăłăłăźăă§ăăŞăĺ ´ĺăă¨ăăŠăăăăćĺĺăĺşĺăăă¨ăăŤă¨ăłăłăźăă§ăăŞăĺ ´ĺăă¨ăăŠăăăŁăŚăăăăăŽćĄăŻăŠăĄăăăăžăčĄăăŞăăŽă ăăăăŚčŚĺăăŞăă¨ă揥ăŽăăăŞăă¨ăăăăŞăšăŻăćŽă:
s = Request("name")
...ä˝ăăźă¸ăĺž...
name = s
...ä˝ăăźă¸ăĺž...
recordset("name") = name // ăăźăżăăźăšăŽ"name"ăŤăŠă ăŤnameăć źç´ăă
...ä˝ćĽăĺž...
theName = recordset("name")
...ä˝ăăźă¸ăăăăăăŻä˝ăśćăĺž...
Write theName
ćĺĺăă¨ăłăłăźăăăŞăăăăăŞăăă¨ăćăăăŚčŚăăŚăăă ăăă? ăă°ăčŚă¤ăăăăăŤä¸ăŤćčŚăă°ăăĺ ´ćă¨ăăăŽăŻăŠăăŤăăŞăăčăĺ ´ćăăŠăăŤăăŞăăŽă ăăăăăăłăźăăăăăăăăă°ăĺşĺăăăćĺĺăŽăăăăăă¨ăłăłăźăăăăŚăăă確čŞăăăăăŤăăăŽčľˇćşăăăŠăŁăŚăăă¨ăăč¨ĺ¤§ăŞä˝ćĽăĺż
čŚăŤăŞăă
ćŹĺ˝ăŽč§Łćąşćł
ă§ăŻä¸ćăćŠč˝ăăăłăźăăŁăłă°čŚĺăććĄăăăă¨ăŤăăăăĺż
čŚăŞăŤăźăŤăŻ1ă¤ă ăă ă
ăŚăźăśăăćĽăćĺĺăŻ(ĺŽĺ
¨ă§ăŞăâUnsafeâćĺĺă¨ăăćĺłă§) ăăŹăăŁăăŻăš"us"ăăă¤ĺĺăŽĺ¤ć°(ăăăăŻăăźăżăăźăšăŽăŤăŠă )ăŤć źç´ăăăHTMLă¨ăłăłăźăăăăćĺĺăăç´ ć§ăŽĺŽĺ
¨ăŞăă¨ăŽăăăŁăŚăăćĺĺăŻ(ĺŽĺ
¨âSafeâăŞćĺĺă¨ăăćĺłă§)ăăŹăăŁăăŻăš"s"ăćă¤ĺĺăŽĺ¤ć°ăŤć źç´ăăă
ä¸ăŤćăăăłăźăăć¸ăç´ăăŚăżăăăä˝ăĺ¤ăăăăă ĺ¤ć°ĺă ăăăć°ăăčŚĺăŤĺăăăĺ¤ć´ăăă
us = Request("name")
...ä˝ăăźă¸ăĺž...
usName = us
...ä˝ăăźă¸ăĺž...
recordset("usName") = usName
...ä˝ćĽăĺž...
sName = Encode(recordset("usName"))
...ä˝ăăźă¸ăăăăăăŻä˝ăśćăĺž...
Write sName
ć°ăăčŚĺă§ć°äťăăŚăťăăăŽăŻăăăŽčŚĺăŤăăăăŁăŚăăă°ăĺŽĺ
¨ă§ăŞăćĺĺăŤă¤ăăŚééăăçŻăăă¨ăăăŠăă1čĄăŽăłăźăă§ăăŽééăăčŚă¤ăăăăă¨ăăăă¨ă ă
s = Request("name")
ăăăŻçčŤçăŤééăŁăŚăăăsă§ĺ§ăžăĺĺăŽĺ¤ć°ăŤRequestăŽçľćă䝣ĺ
ĽăăŚăăăăăăŻčŚĺăŤĺăăŚăăăăă ăResultăŽçľćăŻĺŽĺ
¨ă§ăŞăăăăăăŁăŚĺ¸¸ăŤ**"us"**ă§ĺ§ăžăĺĺăŽĺ¤ć°ăŤć źç´ăăĺż
čŚăăăă
us = Request("name")
ăăăŻĺ¸¸ăŤćŁăăă
usName = us
ăăăŻĺ¸¸ăŤćŁăăă
sName = us
ăăăŻç˘şĺŽăŤééăŁăŚăăă
sName = Encode(us)
ăăăŻç˘şĺŽăŤćŁăăă
Write usName
ăăăŻç˘şĺŽăŤééăŁăŚăăă
Write sName
ăăăŻćŁăăă
Write Encode(usName)
ĺć§ăŤăăăćŁăăă
ăăšăŚăŽăłăźăčĄăăăăŽčĄă ăčŚăŚăă§ăăŻăăăă¨ăă§ăăăăăŚĺčĄăăăšăŚćŁăăăŞăăăłăźăăŽĺ
¨ä˝ăćŁăăăă¨ăŤăŞăă
ăăŽăłăźăăŁăłă°čŚĺă使ăŁăŚăăă°ăWrite usXXXăŽăăăŞăłăźăăčŚăă¨ééăă ă¨ć°äťăăăăŤăŞăăăăăŚăŠă俎ćŁăăă°ăăăŽăăăăăŤăăăăăŻăăăŻăłăźăăŽééăăčŚă¤ăăăŽăéŁăăćăăăăăăăăăŞăăăăăă3éąéăçśăăŚăăă°ăçŽăć
ŁăăăăăŤăŞăăăĄăăăŠĺˇ¨ĺ¤§ăŞăăłĺˇĽĺ ´ăŽčŚćšăčŚăăčˇäşşăĺłĺş§ăŤč¨ăăăăŤăăăžăŁăăăăăćŠăä¸čŞ°ăćé¤ăăŚăăăăăăă! ăăăăä¸ä˝ăŠăăŞéç¨ăăŚăă ă?ă
ăăŽăŤăźăŤăăăĺ°ăćĄĺźľăăŚăRequesté˘ć°ăEncodeé˘ć°ăăŞăăźă ăăŚ(ăăăăŻăŠăăăăŚ)ăUsRequestăSEncodeă¨ăăĺĺăŤăăăă¨ăă§ăăシシシč¨ăćăăă¨ăĺŽĺ
¨ă§ăŞăćĺĺăčżăé˘ć°ăĺŽĺ
¨ăŞćĺĺăčżăé˘ć°ăŤăĺ¤ć°ă¨ĺć§ăăăăăUsă¨Să§ĺ§ăžăĺĺăäťăăăŽă ăăłăźăäžă§čŚăŚăżăăă
us = UsRequest("name")
usName = us
recordset("usName") = usName
sName = SEncode(recordset("usName"))
Write sName
ăăă§ä˝ăăăŚăăăăăă? ăăăăŚăăă°ăçĺˇăŽä¸ĄçŤŻăĺăăăŹăăŁăăŻăšă§ĺ§ăžăŁăŚăăăčŚăŚăłăźăăŤééăăăŞăă確čŞă§ăăă
us = UsRequest("name") // ćŁăăăăŠăĄăăUSă§ĺ§ăžăŁăŚăă
s = UsRequest("name") // ăă°
usName = us // ćŁăă
sName = us // 確ĺŽăŤééă
sName = SEncode(us) // 確ĺŽăŤćŁăă
ăăăŤä¸ćŠé˛ăăŚăWriteăWriteSăŤăSEncodeăSFromUsăŤăŞăăźă ăăŚăżăăă
us = UsRequest("name")
usName = us
recordset("usName") = usName
sName = SFromUs(recordset("usName"))
WriteS sName
ăăăăă°ééăăăăăŤčŚă¤ăăăăăŞăăăăŞăăŽçŽăŤăŻčăăłăźăăăčŚăăăăăăŤăŞăăăăăŻăăŞăăăăłăźăăć¸ăăăčŞăă ăăăŚăăă¨ăăŤĺĽĺŚăŞăťăăĽăŞăăŁăă°ăčŚă¤ăăĺŠăăŤăŞăă
ééăŁăăłăźăăééăŁăŚčŚăăăăăŤăăăŽăŻăăăă¨ă ăăăăăăăăăăťăăĽăŞăăŁĺéĄăŤĺŻžăăćčŻăŽč§Łćłă¨ăŻéăăŞăă辡ăăăăăăăăăă°ăăăšăăăă§čŚă¤ăăăăăăă§ăŻăŞăăăăăŻăăŞăăăłăźăăăăšăŚăŻčŞăžăŞăăăăăăŞăăăă ăăăăä˝ăăăŞăăăăăŁă¨ăăăŽăŻç˘şăă ăăăăŚç§ăŻééăŁăăłăźăăĺ°ăŞăă¨ăééăŁăŚčŚăăăłăźăăŁăłă°čŚĺăćăĄăăă¨ćăăăăă°ăŠăăŽçŽăăłăźăčĄăŽä¸ăăăŠăăăłăŤăăă°ăăă§ăăŻăăăĺéżăăăă¨ăăăčż˝ĺ çăŞĺŠçăăăăŤĺžăăăăŽă ă
ä¸čŹçăŞăŤăźăŤ
ééăŁăăłăźăăééăŁăŚčŚăăăăăŤăŻăé˘éŁăăăăŽăçťé˘ä¸ă§čżăăŤăăĺż
čŚăăăăăłăźăăćŁăăă確čŞăăăă¨ćĺĺăčŚăă¨ăăăŠăă§ăćĺĺăčŚăă°ăăăăĺŽĺ
¨ăĺŽĺ
¨ă§ăŞăăăăăăĺż
čŚăăăăăăŽć
ĺ ąăĺĽăŞăăĄă¤ăŤăăăšăŻăăźăŤăăŞăăă°čŚăăŞăĺĽăŞăăźă¸ăŤăăŁăŚăŻĺ°ăăăăŽĺ ´ăŤăăăŽăčŚăăă¨ăă§ăăĺż
čŚăăăăăăăŤăŻĺ¤ć°ĺ˝ĺčŚĺăĺż
čŚăŞăŽă ă
é˘äżăăăăŽăéŁăĺăăăŤăăŚăăăă¨ă§ăłăźăăćšĺă§ăăäžăŻăăăăăăăăłăźăăŁăłă°čŚĺăŽĺ¤ăăŻäťĽä¸ăŽăăăŞčŚĺăĺŤăă§ăă:
-
é˘ć°ăçăăăă
-
ĺ¤ć°ăŻä˝żăĺ ´ćăŽă§ăăă ăčżăă§ĺŽŁč¨ăăă
-
čŞĺăŽăăă°ăŠăăłă°č¨čŞăä˝ăăă¨ăăŚăăŻăă使ăăŞăă
-
gotoă使ăăŞăă
-
éăăćŹĺź§ăŻă寞ĺżăăéăćŹĺź§ăă1çťé˘äťĽä¸é˘ăăŞăă
ăăăăŽăŤăźăŤăŤĺ
ąéăăŚăăăŽăŻă1čĄăŽăłăźăăĺŽéăŤăăăă¨ăŤé˘éŁăăć
ĺ ąăĺŻč˝ăŞéăçŠççăŤčżăĽăăă¨ăăăă¨ă ăăăăăăă¨ăŤăăŁăŚăăăŞăăŽçŽçăä˝ă辡ăăŚăăăŽăç解ă§ăăĺŻč˝ć§ăéŤăăŞăă
ä¸čŹçăŤč¨ăŁăŚăç§ăŻăăŽăă¨ăé ăăŚăăžăăăăŞč¨čŞćŠč˝ăŤăŻćăăćăăă揥ăŽăłăźă
i = j * 5;
シシシăčŚăă°ăĺ°ăŞăă¨ăCă§ăăă°ăj ăŽĺ¤ă5ĺăăăŚçľćă i ăŤć źç´ăăăă¨ăăăă¨ăăăăă
ăăăC++ăŽĺ ´ĺă§ăŻăĺăăšăăăăăăĺăăăă¨ăŻä˝ăăŞăăăžăŁăăăC++ă§ćŹĺ˝ăŤčľˇăăăă¨ăä˝ăçĽăăăăŤăŻăăăăăéăĺ ´ćă§ĺŽŁč¨ăăăŚăăăăăăăŞă i 㨠j ăŽĺăčŚă¤ăăĺż
čŚăăăăăăăŻjăoperator*ăăŞăźăăăźăăăŚăăĺăŽĺ¤ć°ăăăăăăăăçŽăăă¨ăăŤăŻăŞăŻă ć°ăŽĺšăăăă¨ăăăŁăŚăăăăăăăăŞăăăă ăăă㌠i ăŻoperator=ăăŞăźăăăźăăăŚăăĺăŽĺ¤ć°ăăăăăăăžăĺăç°ăŞăăăăŤćéťăŽĺĺ¤ćé˘ć°ăĺźă°ăăăă¨ăŤăŞăăăăăăŞăăăăăŚä˝ă辡ăăçĽăăăăŤăŻĺ¤ć°ăŽĺăăă§ăăŻăăă ăă§ăŞăăăăŽĺăĺŽčŁ
ăăŚăăăłăźăăčŚă¤ăăĺż
čŚăăăăăăăŚďźçĽăćăăăžăăăŠăăă§çśćżăčĄăăăŚăăă°ăăłăźăăĺŽéăŠăăŤăăăŽăčŞĺă§ăŻăŠăšé幤ăăăŠăĺż
čŚăăăăăăăŚăŠăăăŤăăŞă˘ăźăăŁăşă ăăăă°ăăăŞăăŻćŹĺ˝ăŤéŁĺăăăă¨ăŤăŞăăăă㯠i 㨠j ăŽĺăăŠă厣č¨ăăăŚăăăçĽăă ăă§ăŻä¸ĺĺă§ăĺŽčĄăŽăăŽćçšăŤăăăĺăä˝ăçĽăĺż
čŚăăăăăă§ăăăăăăŤăŻăŠăăăăăŽéăŽăłăźăă調ăšăŞăăă°ăŞăăŞăăăăăăăĺć˘ć§ĺ¤ĺŽĺéĄăŽăăăă§ăăăŞăăŻćąşăăŚăăšăŚăăă§ăăŻăăăćŹĺ˝ăŤç˘şäżĄăăăă¨ăŻă§ăăŞăăŽă ă(ăăăă!)
C++ăŤăăăi=j*5ă¨ăăăłăźăăŻäťťćć§ăéŤăăăăŽĺăłăźăăčŚăă ăă§ĺéĄăčŚă¤ăĺşăăč˝ĺăŻä¸ăăăă¨ăŤăŞăă
ăăăăŽćŠč˝ăŻĺéĄă¨ăŞăăă¨ăćłĺŽăăăăăŽă§ăŻăăĄăăăŞăăăăŞăă賢ăä¸ĺŚçăżăăăŤoperator*ăăŞăźăăŠă¤ăăăă¨ăăăăăŻç´ ćľăŞćźăăŽăŞăć˝čąĄĺăćäžăăăă¨ăćĺłăăŚăăăj ăUnicodećĺĺĺăŞăUnicodećĺĺăŽć´ć°ĺăçšä˝ä¸ĺ˝čŞăăç°Ąä˝ä¸ĺ˝čŞă¸ăŽĺ¤ćă ă¨ăăăŽăŻĺŞăăć˝čąĄĺăŤéăăŞăăăăă ăă?
ĺéĄăŻăćźăăŽăŞăć˝čąĄĺăŻĺĺ¨ăăŞăă¨ăăăă¨ă ăăăŽçšăŤă¤ăăŚăŻăćźăăŽăăć˝čąĄĺăŽćłĺăă§čŠłăăč°čŤăăăŽă§ăăăă§ăŻçš°ăčżăăŞăă
ăšăłăăăťăĄă¤ă¤ăźăşăŻĺ˝źăŽăăŁăŞă˘ăŽăăšăŚăăC++ă§ĺ¤ąćăăăăăăăŁăăăăăăăŽăăăăćšćłă示ăăă¨ăŤč˛ťăăăŚăăă(ă¨ăăă§ăăšăłăăăŽćŹEffective C++ăŽçŹŹ3çăĺşăă¨ăăă ăăăăŽćŹăŻĺăŽçăăĺŽĺ
¨ăŤć¸ăç´ăăăŚăăăăăćăŤĺ
Ľăăă¨ăă!)
OKă
芹ăăăăŚăăžăŁăăăăăžă§ăŽčŠąăčŚç´ăăŚăăăćšăčŻăăăă ă
ééăŁăăłăźăăééăŁăŚčŚăăăłăźăăŁăłă°čŚĺăć˘ăăă¨ăé˘éŁăăć
ĺ ąăçťé˘ä¸ă§ă˛ă¨ăžă¨ăžăăŤăăŚčŚăăăăăăŤé
罎ăăăă¨ă§ăăă税ăŽĺéĄă厚ćăŤčŚă¤ăăŚäżŽćŁă§ăăăăăŤăŞăă
ç§ăŻăăłăŹăŞăźă§ă
ă§ăŻăčŠĺ¤ăŽćŞăăăłăŹăŞă˘ăłč¨ćłăŽčŠąăăăăă¨ăŤăăăă
ăăłăŹăŞă˘ăłč¨ćłăŻMicrosoftăŽăăă°ăŠăăăăŁăźăŤăşăťăˇă˘ăă¤ăŤăăčćĄăăăăăˇă˘ăă¤ăMicrosoftă§ćăăă大ăăŞăăă¸ă§ăŻăăŽ1ă¤ăŤWordăăăăĺŽé彟ăŻXerox PARCă§ăBravoă¨ĺźă°ăăä¸çćĺăŽWYSIWYGăŻăźăăăăťăăľăć§çŻăăăăă¸ă§ăŻăăŽććŽăăăŚăăăŽă ă
WYSIWYGăŻăźăăăŤăŻăšăŻăăźăŤăăçťé˘ăăăăăăšăŚăŽĺş§ć¨ăŻăŚăŁăłăăŚăŤĺŻžăăç¸ĺŻžĺş§ć¨ăŞăŽăăăźă¸ăŤĺŻžăăç¸ĺŻžĺş§ć¨ăŞăŽă解éăăĺż
čŚăăăăăŠăĄăă§ăăăăŤăăŁăŚčŠąăŻĺ¤§ăăéăăŽă§ăĺăéăăŞăăăăŤăăăă¨ăéčŚă ă
ç§ăŽć¨ć¸Źă§ăŻăăăăăăłăŹăŞă˘ăłč¨ćłă¨ĺźă°ăăăăăŤăŞăăăŽăăˇă˘ăă¤ă使ăĺ§ăăççąăŽ1ă¤ăŞăŽă ă¨ćăăăăăăăłăŹăŞăźčŞăŽăăăŤčŚăăăžăăˇă˘ăă¤ăăăłăŹăŞăźäşşă§ăăŁăăă¨ăăăăăŽĺĺă使ăăăăăăŤăŞăŁăăăˇă˘ăă¤çăŽăăłăŹăŞă˘ăłč¨ćłă§ăŻăăăšăŚăŽĺ¤ć°ăŤăăăăäżćăăăăŽăŽç¨ŽéĄă示ăăżă°ăĺ°ćĺă§äťăăă
Loading...
ç§ăŻăăă§ç¨ŽéĄ(kind)ă¨ăăč¨čăćĺłăăŚä˝żăŁăăăˇă˘ăă¤ăŻăżă¤ă(type)ă¨ăăčŞăä¸ç¨ćăŤä˝żăăăăăĺžăŽä¸äťŁăŽăăă°ăŠăăăĄăŽčŞ¤č§ŁăŽĺ
ă¨ăŞăŁăă
ăˇă˘ăă¤ăŽčŤćăčŻăčŞăă°ă彟ăć¸ăăŚăăăŽăŻăç§ăä¸ăŽäžă§ä˝żăŁăĺ˝ĺčŚĺă¨ĺ税ăŽăăŽă§ăăăŽăăăăă ăăăusăŻăĺŽĺ
¨ă§ăŞăćĺĺăă襨ăăsăŻăĺŽĺ
¨ăŞćĺĺăă襨ăăăăŠăĄăăĺ(type)ă¨ăăŚăŻstringă ăééăŁăŚäťŁĺ
ĽăăŚăăłăłăă¤ăŠăŻĺŠăăŤăŞăăŞăăăă¤ăłăăŞăťăłăšăŻä˝ăćăăŚăăăŞăăăăăăăăăŻćĺłčŤçăŤăŻç°ăŞăŁăŚăăăéăŁăăăăŤč§ŁéăăéăŁăăăăŤćąăĺż
čŚăăăăăăăŚä¸ćšăäťćšăŤäťŁĺ
Ľăăă¨ăăŤăŻĺ¤ćé˘ć°ăĺźăśĺż
čŚăăăăăăăăŞăă¨ĺŽčĄćăă°ăçŽăŤăăăă¨ăŤăŞăăéăčŻăăă°ăă
ăˇă˘ăă¤ăŽăăłăŹăŞă˘ăłč¨ćłăŽăŞăŞă¸ăăŤăŽă˘ă¤ăă˘ăŻăMicrosoftĺ
é¨ă§ăŻă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłă¨ĺźă°ăăăăăŻă˘ăăŞăąăźăˇă§ăłé¨éă§ăăăŞăăĄWordă¨Excelă§ä˝żăăăŚăăăăă ăExcelăŽă˝ăźăšăłăźăăŤăŻrwă¨colă¨ăăăŽăăăăăĺşăŚăăăăăăăŻčĄ(row)ă¨ăŤăŠă (column)ă襨ăăŚăăăăŠăĄăăć´ć°ă ăăăăăăŽä¸ćšăäťćšăŤäťŁĺ
ĽăăăŽăŻćĺłăăŞăăWordă§ăŻăčăăă¨ăăăŤăăă¨ăxlă¨xwă¨ăăăŽăăăăăĺşăŚăăăxlăŻăăŹă¤ă˘ăŚăăŤĺŻžăăç¸ĺŻžć°´ĺšłĺş§ć¨ăăxwăŻăăŚăŁăłăăŚăŤĺŻžăăç¸ĺŻžć°´ĺšłĺş§ć¨ăăćĺłăăăăŠăĄăăintă ăă交ćĺŻč˝ă§ăŻăŞăăExcelă§ăWordă§ăăăă¤ăć°ăăćĺłăăcbăăăăăĺşăŚăăăăăăăžăintă ăăĺ¤ć°ĺăčŚăă ăă§ăăăŁă¨ĺ¤ăăŽăă¨ăçĽăăă¨ăă§ăăăăăŽĺ¤ć°ăŻăă¤ăć°ă§ăăăăăŞăăĄăăăăĄăľă¤ăşă ăăăăŚxl = cbăŽăăăŞăłăźăăčŚăăŞăăăžăăăłăźăăçĽăăăčŚéăéł´ăéżăăăłăźăăŽééăăŻćăăă ăăăăŻxlă¨cbăăŠăĄăăintĺă§ăăăŤăăăăăŻăťăŤĺä˝ă§ăŽć°´ĺšłăŞăăťăăăŤăă¤ăć°ăăťăăăăă¨ăăăŽăŻăžăŁăăçăŁăăă¨ă ăăă ă
ă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłă§ăŻăăăŹăăŁăăŻăšăŻĺ¤ć°ĺă¨ĺć§ăŤé˘ć°ĺăŤă使ăăăăç§ăŻăăťăă¨ăŽăă¨č¨ăŁăŚWordăŽă˝ăźăšăŻčŚăăă¨ăăŞăăŽă ăăĺç´ăŚăŁăłăăŚĺş§ć¨ăĺç´ăŹă¤ă˘ăŚă座ć¨ăŤĺ¤ćăăYlFromYwă¨ăăĺĺăŽé˘ć°ăăăă ăăăă¨ăŤăŻčłăăŚăăăăă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłă§ăŻăĺăŽäžă§EncodeăSFromUsăŤăŞăăźă ăăăăăŤăăăčŚăăăTypeToTypeă¨ăă形ă§ăŻăŞăăTypeFromTypeă¨ăăč¨ćłă使ăăé˘ć°ĺăćťăĺ¤ăŽĺă§ĺ§ăžăăăăŤăăŚăăăĺŽéăćŹćĽăŽă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłă§ăŻăEncodeé˘ć°ăŻSFromUsă¨ăăĺĺăŤăăŞăăă°ăŞăăŞăăŽă ăă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłă§ăŻăăŽé˘ć°ăŽĺĺăŤă¤ăăŚé¸ćč˘ăŻăŞăăăăăŻăăăă¨ă§ăăăč¨ćśăăŞăăă°ăŞăăŞăăă¨ă1ă¤ĺ°ăŞăăŞăăEncodeă¨ăăĺĺăăŠăăŞç¨ŽéĄăŽă¨ăłăłăźăăŁăłă°ă襨ăăŚăăăŽăćăăžăŠăĺż
čŚăăŞăăăăŁă¨ćŁç˘şăŤčĄ¨ăăăŽă ă
ă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłăŻé常ăŤäžĄĺ¤ăăăăăă¨ăŤăłăłăă¤ăŠăăăžăĺăŤă¤ăăŚćç¨ăŞć
ĺ ąăä¸ăăŚăăăŞăăŁăCăăă°ăŠăăłă°ăŽć䝣ăŤăŻăăă ăŁăă
ăăăăăŽĺžăžăăăă¨ă辡ăăă
ăăłăŹăŞă˘ăłč¨ćłăŽćéťé˘ăćŻé
樊ăĺžăăŽă ă
ăăăăŞăăŞăŽăăăŠăăăçľçˇŻă§ăăăŞăŁăăŽă誰ăçĽăăŞăăŽă ăăăŠăăăWindowsăăźă ăŽăăăĽăĄăłăăŠă¤ăżăźăăĄăăä¸ç¨ćăŤăˇăšăă ăăłăŹăŞă˘ăłă¨ăăŚçĽăăăăăăŤăŞăăăŽăä˝ăĺşăăă¨ăăăă¨ăăăă
誰ăăăăŠăăă§ăˇă˘ăă¤ăŽčŤćăčŞăżăăăżă¤ăăă¨ăăč¨čă使ăăăŚăăăăăăăăăŻăŠăšăŽăăăŞăăżă¤ăăˇăšăă ăăăłăłăă¤ăŠăŽăżă¤ăăă§ăăŻă¨ăăă¨ăăŽăżă¤ă(ĺ)ăćĺłăăăŽă ă¨čăăăăăăŻăˇă˘ăă¤ăŽćĺłăăŚăăăă¨ă§ăŻăŞăăăˇă˘ăă¤ăŻăăżă¤ăăăćŁç˘şăŤä˝ăćĺłăăăŽă注ć桹ă誏ćăăŚăăăăăăăćăăŤăŻăŞăăŞăăŁăăăăĄăźă¸ăŻçşăăăŚăăžăŁăă
ă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłăŻćç¨ă§ćĺłăŽăăăăŹăăŁăăŻăšă使ăăé
ĺă¤ăłăăăŻăšă襨ă"ix"ăăĺć°(count)ăćĺłăă"c"ă2ă¤ăŽć°ăŽĺˇŽ(difference)ăćĺłăă"d"ăŞăŠă (ăă¨ăă°"dx"ăŻĺš
ă襨ă)ă
ăˇăšăă ăăłăŹăŞă˘ăłăŻlongăćĺłăă"l"ăunsigned longăćĺłăă"ul"ădouble word(ăăăŻăĺŽéăŻăăăŽăunsigned longă¨ĺăăăŽă )ăćĺłăă"dw"ăŽăăăŞăăăžă彚ăŤçŤăăŞăăăŹăăŁăăŻăšă使ăăăˇăšăă ăăłăŹăŞă˘ăłă§ăŻăăăŹăăŁăăŻăšăćăăŚăăăăŽăŻĺ¤ć°ăŽăăźăżĺă ăă ă
ăĄăăŁă¨ăă誤解ă§ăŻăăăăăˇă˘ăă¤ăŽćĺłă¨ăăćšăĺŽĺ
¨ăŤćăćăăŚăăăčžźăżĺ
ĽăŁăŚăăăăŤăăĺŚčĄçăŞćçŤ ăć¸ăă¨ăçľĺąčŞ°ăç解ă§ăăăă˘ă¤ăă˘ăŻčŞ¤č§Łăăă誤解ăăăă˘ă¤ăă˘ăŻăăŞăăŽă˘ă¤ăă˘ă§ăŞăăŤăăăăăăăăăŞăăăăçŹăăăăă¨ăŤăŞăăŽă ăăˇăšăă ăăłăŹăŞă˘ăłă§ăŻăăăăăŽ"dwFoo"ăĺşăŚăăŚăăăăŻădouble wordĺăŽfooăăćĺłăăŚăăăŽă ăăă°ăăăăăăăŽĺ¤ć°ădouble wordĺă§ăăă¨ăăăŽăŻćç¨ăŞăă¨ăăťă¨ăăŠä˝ăćăăŚăăăŞăăă ăăäşşă
ăăˇăšăă ăăłăŹăŞă˘ăłăŤĺ寞ăăăŽăçĄçăŽăŞăăă¨ăŞăŽă ă
ăˇăšăă ăăłăŹăŞă˘ăłăŻĺşăćŽĺăăWindowsăăă°ăŠăăłă°ăŽăăăĽăĄăłăăźăˇă§ăłăŤăăăć¨ćşă¨ăŞăŁăăăăăŻWindowsăăă°ăŠăăłă°ăŽăă¤ăăŤă§ăăăăăŁăźăŤăşăťăăžăŤăăŽăăăă°ăŠăăłă°WindowsăăŽăăăŞćŹăŤăăŁăŚĺşăăăăăăăăŚćĽéăŤăˇăšăă ăăłăŹăŞă˘ăłăăăłăŹăŞă˘ăłč¨ćłăŽćŻé
çăŞĺ˝˘ć
ă¨ăŞăăMicrosoftĺ
é¨ăŤăăăŚăăăWordăăźă ă¨Excelăăźă ăĺĽăŤăăă¨ă彟ăăăăăŤĺ¤§ăăŞééăăăăăç解ăăŚăăăăă°ăŠăăŻăăăăăăăăăŞăăŁăă
ăăăŚĺ¤§ăăŞĺäšąă辡ăăăăăłăŹăŞă˘ăłč¨ćłăăăăăăŽăŻăăăăç解ăăŚăăŞăăăă°ăŠăăăĄăŻăčŞĺăăĄăŽä˝żăŁăŚăăăăłăŹăŞă˘ăłč¨ćłăŽčŞ¤č§ŁăăăăľăăťăăăăŻăŞăŻă ç
Šăăăăťă¨ăăŠĺ˝šçŤăăă§ăăăă¨ăŤć°ăĽăăĺćăçżťăăăŽă ăăˇăšăă ăăłăŹăŞă˘ăłăŤăăăă°ăčŚă¤ăăăăăăçščłŞăăŞăăŻăŞăăĺ°ăŞăă¨ăăăˇăšăă ăăłăŹăŞă˘ăłă使ăăŞăăĺ¤ć°ăŽĺăăăŽä˝żăăăŚăăăăŽĺ ´ă§ăăăăăăăăăăŻă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłăŽćç¨ć§ăŤăŻé ăĺă°ăŞăă
大ĺäšąăŻ.NETăŽćĺăŽăŞăŞăźăšă§ăăźăŻăčżăăăMicrosoftăŻă¤ăăŤăŻäşşă
ăŤč¨ăĺ§ăăăŽă ăăăăłăŹăŞă˘ăłč¨ćłăŻć¨ĺĽ¨ăăŞăăăăăăŻĺăłăăăŁăŚčżăăăăăMicrosoftăŻăăŽççąă誏ćăăăăŞăăŁăă¨ćăă彟ăăŻăă ăăăĽăĄăłăăŽĺ˝ĺăŹă¤ăăŠă¤ăłăŽé¨ĺăăăŠăŁăŚăăăăăăŽé
çŽăŤăăăłăŹăŞă˘ăłč¨ćłăŻä˝żăăŞăăă¨ăă¨ć¸ăčžźăă§ăăŁăăăăłăŹăŞă˘ăłč¨ćłăŻăŻăŞăŻă äşşć°ăăŞăăŁăăŽă§ă誰ăčŚć
ăč¨ăäşşăŻăăăăExcelăăźă ă¨Wordăăźă ăĺĽăŤăăă¨ă埡ăĺäťăă¨ă¤ăłăăŞăťăłăšăŽć䝣ăŤăŻä¸čŚă¨ćăăé˘ĺăŞă ăăŽĺ˝ĺčŚĺăŤăăŻăĺžăăŞăăŚăăăă¨ăŤăăżăăŞăťăŁă¨ăăŚăăă
ăăăă˘ăăŞăąăźăˇă§ăłăăłăŹăŞă˘ăłăŤăŻäžçśă¨ăăŚăăŽăăă䞥ĺ¤ăăăăăłăźăăŽăłăăąăźăˇă§ăłăĺ˘ăăăłăźăăŻčŞăżăăăăć¸ăăăăăăăăă°ăăăăăăĄăłăăăłăšăăăăăŞăăăăăŚćăéčŚăŞăŽăŻăééăŁăăłăźăăééăŁăŚčŚăăăăăŤăŞăăă¨ă ă
çľăăĺăŤăăăă˛ă¨ă¤ç´ćăăŚăăăă¨ăăăŁăăăăä¸ĺşŚäžĺ¤ăćťćăăă¨ăăăă¨ă ăĺăŤăăŁăă¨ăăŤăŻăăăăăăŠăăŤăŤčŚčăăăăJoel on SoftwareăŽăăźă ăăźă¸ăŤĺłĺ¸ăŽăłăĄăłăă§äžĺ¤ăĺŤăă ă¨ć¸ăăăäžĺ¤ăŻĺŽčłŞçăŤčŚăăŞăgotoă§ăăăçŽăŤčŚăăgotoăăăăŁăăćŞăă¨ăăč°čŤăăăăŽă ăăăĄăăä˝çžä¸ă¨ăăäşşă
ăç§ăŽăŽăŠĺ
ăŤéŁăłăăăŁăŚăăăç§ăŽćčˇăŤçŤăĄä¸ăăŁăĺŻä¸ăŽäşşéăŻăăăĄăăăŹă¤ă˘ăłăăťăă§ăłă§ă彟ăŻä¸çćéŤăŽăăă°ăŠăăŞăăă ăăăăăăŻćĺłăŽăăăă¨ăŞăŻăă ăăăă ăă?
ăăŽă˘ăźăăŁăŻăŤăŽćčăŤăăăäžĺ¤ă¨ăŻăăăăăă¨ă ăăăŞăăŽçŽăŻăčŚăăăăŽăăăéăăééăŁăăăŽăčŚăăăăăŤăŞăăăăăăă°ăćć˘ăăăăłăźăăćŹĺ˝ăŤé ĺĽăŞăăŽăŤăăăăăŤăŻăăłăźăăŹăăĽăźăăă¨ăăăłăăąăźăˇă§ăłăĺŻč˝ăŤăăăłăźăăŁăłă°čŚĺăĺż
čŚăŤăŞăăč¨ăćăăă¨ăăłăźăăä˝ăăăŁăŚăăăăŤă¤ăăŚçŽăŽĺăŤăăć
ĺ ąăĺ¤ăăťăŠăééăăčŚă¤ăăä¸ă§ăăäťäşăă§ăăăŽă ă揥ăŽăăăŞăłăźăăăăă¨ă
dosomething();
cleanup();
シシシăăŞăăŽçŽăŻăăăŽăŠăăŤĺéĄăăăăŽăćăăŚăăăă ăăă? ăă¤ă§ăăŻăŞăźăłă˘ăăăăĺż
čŚăăă! ăăădosomethingăäžĺ¤ăćăăĺŻč˝ć§ăŤăăăcleanupăŻĺźă°ăăŞăăăăăăŞăăăăăŻfinallyăăŞăŤăă使ăŁăŚĺŽšćăŤäżŽćŁă§ăăăăăăăŻç§ăŽčŤçšă§ăŻăŞăăcleanupăééăăŞăĺźă°ăăăă¨ă確čŞă§ăăĺŻä¸ăŽćšćłăŻădosomethingăŽăłăźăŤăăŞăźăăăšăŚčŞżăšăŚăä˝ăăăŠăăăŤăäžĺ¤ăćăăăăăăăŞăăăŽăăŞăăăă§ăăŻăăăăăŤăăŁăŚĺéĄă辡ăăŞăă確čŞăăă¨ăăăă¨ă§ăăă§ăăŻäžĺ¤ăŤăăăăăśă骨ćăăčť˝ć¸ă§ăăăŤăăŚăăćŹĺ˝ăŽĺéĄăŻăäžĺ¤ăăłăăąăźăˇă§ăłă掺ăăŚăăžăă¨ăăăă¨ă ăăłăźăăćŁăăăă¨ăăăŚăăăă¨ăă質ĺăŤçăăăăăŤăŻăăŠăăĺĽăŞă¨ăăăčŚăŞăăă°ăŞăăăăăŞăăŽçŽăŽćă¤ăžăăăłăźăăčŚă¤ăĺşăč˝ĺăçăăăŞăăă¨ăŤăŞăăăăăŤăŻčŚăăăăŽăăŞăăăă ă
ăăăăăŽăăźăżăăăéăăŚăăŚďźćĽăŤ1庌ăăŞăłăă˘ăŚăăăĺ°ăăŞăšăŻăŞăăăć¸ăăŚăăăŽă§ăăă°ăäžĺ¤ăŻĺ¤§ĺ¤çľć§ăŞăăŽă ă辡ăăăăăăăăăžăăăă¨ăăăšăŚçĄčŚăăĺ¤ăčŻătry/catchă使ăŁăŚăăă°ăŠă ăŤçăäťăă辡ăŁăăžăăĺéĄăŻăĄăźăŤă§éçĽăăă¨ăăăŽăŻăç§ăŽĺăă§ăăăăăă¨ă ăäžĺ¤ăŻăăŁă¤ăäťäşăăăšăŻăŞăăăăăăăˇă§ăłăŻăŞăăŁăŤăŤă§ăçĺ˝çśćăŤăăăăăăŞăăłăźăăŤăŻăăăăŽă ăăăăăŞăăŹăźăăŁăłă°ăˇăšăă ăăĺĺĺçşéťćăăĺżčăŽćčĄăŤä˝żăéŤéĺ蝢丸é¸ăăłăłăăăźăŤăăă˝ăăăŚă§ă˘ăŤäžĺ¤ă使ăăŽăŻăăŻăŞăŻă ĺąéşăŞăă¨ă ă
ăżăăŞăç§ăŽăă¨ăăäžĺ¤ăăĄăăă¨ç解ă§ăăăäžĺ¤ăĺăĺ
Ľăăă°ăăŁă¨äşşçăčŻăăŞăăă¨ăĺăăăŞăăăăŞăăă°ăŠăă ă¨ćăăŽăŻăăăŁăŚăăăăăăăăăŽăăăŤčŞĺăŽĺżčăŤäžĺ¤ăĺ
Ľăăă¨ăăăŽăŻăžăăăăăćŹĺ˝ăŤäżĄé źć§ăŽăăăłăźăăć¸ăćšćłăŻăäşşăŽĺ
¸ĺçăŞĺźąăăčć
ŽăŤĺ
ĽăăăˇăłăăŤăŞăăźăŤă使ăăă¨ă§ăăŁăŚăĺŻä˝ç¨ăŽăăăă¨ăăăăă°ăŠăăŽçĄčŹŹć§ăĺćă¨ăăćźăăŽăăć˝čąĄĺăé ăăŚăăč¤éăŞăăźăŤă使ăăă¨ă§ăŻăŞăă
čŞć¸ćĄĺ
ăăŞăăäžçśäžĺ¤ăŤçŽčşŤçăŞăăăŹă¤ă˘ăłăăťăă§ăłăŽă¨ăăťă¤Cleaner, more elegant, and harder to recognizeăčŞăă¨ăăăăäžĺ¤ăăźăšăŽăžăăăłăźăă¨ăäžĺ¤ăăźăšăŽăžăăăŞăăłăźăăčŚĺăăăŽăŻăăŻăŞăŻă éŁăăシシシäžĺ¤ăŻăăžăăŤéŁăăăç§ăŻäžĺ¤ăćąăăăťăŠăŤé ăčŻăăŻăŞăăŽă ă
ăŹă¤ă˘ăłăăŽăăŻăćťăŤă¤ăăŚăŽč°čŤA rant against flow control macrosăŻăĺż
čŚăŞć
ĺ ąăăăšăŚä¸ăŤćă§ăăăăăăŤăăăăăŚăăăłăźăăŻăĄăłăăăłăšä¸č˝ă§ăăăă¨ăŽăăă˛ă¨ă¤ăŽăąăźăšă示ăăŚăăăă(ăăŻăă)使ăŁăŚăăăłăźăăčŚăă¨ăăăăăăăĄă¤ăŤăćĺăăŚăăăä˝ăăăŁăŚăăăç解ăăĺż
čŚăăăă
ăăłăŹăŞă˘ăłč¨ćłăŽć´ĺ˛çăŞčćŻăŤă¤ăăŚăŻăćĺ§ăăŤăˇă˘ăă¤ăŽăŞăŞă¸ăăŤăŽčŤćHungarian NotationăčŞăă¨ăăăăă°ăťăŻăŠăłăăźăăăłăŹăŞă˘ăłč¨ćłăExcelăăźă ăŤç´šäťăăćçŤ ăŻăăĺ°ăć忍ăŤć¸ăăăŚăăăăăłăŹăŞă˘ăłč¨ćłă¨ăăăăăăĽăĄăłăăŠă¤ăżăźăŤăăŁăŚăăăŤćăŞăăăăăŤă¤ăăŚăŽčŠąăŻăăŠăŞăźăťăŞăšăżăźăăłăŽć稿(çšăŤăšăłăăăťăŠăăŚăŁă°ăŽăłăĄăłă)ăăăŞăăŻăťăˇă§ăźăăŽć稿ăčŞăă¨ăăă
(ăŞăŞă¸ăăŤ: Making Wrong Code Look Wrong)