°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡you¡¡would¡¡create¡¡your¡¡own¡¡template¡¡and¡¡add¡¡it¡¡to¡¡Visual¡¡Basic¡¡Express£¿¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡3¡£¡¡¡¡In¡¡the¡¡Solution¡¡Explorer£»¡¡each¡¡item¡¡in¡¡the¡¡tree¡¡control¡¡represents¡¡a¡¡single¡¡item¡¡£¨such¡¡as¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡a¡¡file£»¡¡user¡¡interface¡¡control£»¡¡and¡¡so¡¡on£©¡£¡¡If¡¡you¡¡were¡¡to¡¡double¡click¡¡a¡¡¡£vb¡¡file£»¡¡you¡¡would¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡be¡¡manipulating¡¡a¡¡Visual¡¡Basic¡¡file¡¡that¡¡would¡¡contain¡¡Visual¡¡Basic¡¡code¡£¡¡Should¡¡a¡¡single¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Visual¡¡Basic¡¡file¡¡reference¡¡a¡¡single¡¡Visual¡¡Basic¡¡class¡¡or¡¡namespace£¿¡¡And¡¡if¡¡not£»¡¡how¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡would¡¡you¡¡organize¡¡your¡¡Visual¡¡Basic¡¡code¡¡with¡¡respect¡¡to¡¡Visual¡¡Basic¡¡files£¿¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡4¡£¡¡¡¡You¡¡have¡¡learned¡¡about¡¡how¡¡a¡¡¡¡application¡¡can¡¡generate¡¡an¡¡executable¡¡file¡£¡¡Let¡¯s¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡say¡¡that¡¡you¡¡take¡¡the¡¡generated¡¡application¡¡and¡¡execute¡¡it¡¡on¡¡another¡¡Windows¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡puter¡£¡¡Will¡¡the¡¡generated¡¡application¡¡run£¿¡¡Let¡¯s¡¡say¡¡that¡¡you¡¡take¡¡the¡¡executable¡¡file¡¡to¡¡a¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Macintosh¡¡OS¡¡X¡¡or¡¡Linux¡¡puter£»¡¡will¡¡the¡¡application¡¡run£¿¡¡Why¡¡will¡¡it¡¡run¡¡or¡¡not¡¡run£¿¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡45¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C¡¡H¡¡AP¡¡TE¡¡R¡¡¡¡¡¡1¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡R¡¡E¡¡AD¡¡Y¡¡£»¡¡¡¡¡¡ST¡¡E¡¡AD¡¡Y¡¡£»¡¡¡¡¡¡G¡¡O£¡¡¡23¡¡
5¡£¡¡¡¡You¡¡are¡¡not¡¡happy¡¡with¡¡the¡¡naming¡¡of¡¡the¡¡element¡¡TextBox1£»¡¡and¡¡want¡¡to¡¡rename¡¡it¡¡to¡¡¡¡
¡¡¡¡¡¡¡¡TxtOutput¡£¡¡How¡¡do¡¡you¡¡go¡¡about¡¡renaming¡¡TextBox1£¿¡¡
6¡£¡¡¡¡ClassLibrary¡¡has¡¡embedded¡¡logic¡¡that¡¡assumes¡¡the¡¡caller¡¡of¡¡the¡¡method¡¡is¡¡a¡¡console¡¡¡¡
¡¡¡¡¡¡¡¡application¡£¡¡Is¡¡it¡¡good¡¡to¡¡assume¡¡a¡¡specific¡¡application¡¡type¡¡or¡¡logic¡¡of¡¡the¡¡caller¡¡in¡¡a¡¡¡¡
¡¡¡¡¡¡¡¡library£¿¡¡If¡¡yes£»¡¡why£¿¡¡If¡¡no£»¡¡why¡¡not£¿¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡46¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡47¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
C¡¡¡¡H¡¡¡¡A¡¡¡¡P¡¡¡¡T¡¡¡¡E¡¡¡¡R¡¡¡¡¡¡¡¡¡¡2¡¡
¡ö¡¡¡ö¡¡¡ö¡¡
Learning¡¡About¡¡¡¡Number¡¡¡¡
and¡¡Value¡¡Types¡¡¡¡
In¡¡the¡¡previous¡¡chapter£»¡¡you¡¡learned¡¡how¡¡to¡¡use¡¡Visual¡¡Basic¡¡Express£»¡¡and¡¡what¡¡¡¡is¡¡in¡¡terms¡¡of¡¡¡¡
the¡¡CIL¡¡and¡¡CLR¡£¡¡In¡¡this¡¡chapter£»¡¡we¡¡are¡¡going¡¡to¡¡roll¡¡up¡¡our¡¡sleeves¡¡and¡¡begin¡¡writing¡¡real¡¡¡¡
Visual¡¡Basic¡¡code¡ªspecifically£»¡¡a¡¡calculator¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡A¡¡calculator¡¡is¡¡an¡¡ideal¡¡example¡¡to¡¡start¡¡with£»¡¡because¡¡it¡¡allows¡¡you¡¡to¡¡focus¡¡on¡¡the¡¡applica
tion¡¡without¡¡having¡¡to¡¡deal¡¡with¡¡all¡¡the¡¡nasty¡¡details¡¡that¡¡are¡¡normally¡¡associated¡¡with¡¡programs¡£¡¡¡¡
In¡¡a¡¡programming¡¡language¡¡like¡¡Visual¡¡Basic£»¡¡adding¡¡two¡¡numbers¡¡is¡¡trivial¡£¡¡What¡¡is¡¡not¡¡trivial¡¡¡¡
is¡¡how¡¡to¡¡put¡¡the¡¡operation¡¡of¡¡adding¡¡two¡¡numbers¡¡into¡¡a¡¡program¡£¡¡
¡¡¡¡¡¡¡¡¡¡This¡¡chapter¡¡focuses¡¡on¡¡the¡¡mechanics¡¡of¡¡writing¡¡a¡¡program¡¡in¡¡Visual¡¡Basic¡ªtaking¡¡an¡¡¡¡
idea¡¡and¡¡converting¡¡it¡¡into¡¡a¡¡Visual¡¡Basic¡¡program¡¡that¡¡can¡¡execute¡¡your¡¡intentions¡£¡¡You¡¯ll¡¡learn¡¡¡¡
how¡¡to¡¡organize¡¡your¡¡development¡¡and¡¡implement¡¡a¡¡Visual¡¡Basic¡¡class¡¡library£»¡¡as¡¡well¡¡as¡¡how¡¡¡¡
the¡¡¡¡CLR¡¡manages¡¡number¡¡types¡£¡¡
Focusing¡¡and¡¡Organizing¡¡Your¡¡Development¡¡
When¡¡you¡¡develop¡¡software£»¡¡you¡¡will¡¡split¡¡your¡¡work¡¡into¡¡two¡¡main¡¡tasks£º¡¡organizing¡¡and¡¡imple
menting¡£¡¡Organizing¡¡your¡¡development¡¡involves¡¡figuring¡¡out¡¡what¡¡features¡¡and¡¡libraries¡¡you¡¡¡¡
are¡¡going¡¡to¡¡define£»¡¡how¡¡many¡¡people¡¡are¡¡going¡¡to¡¡be¡¡developing¡¡the¡¡features£»¡¡and¡¡so¡¡on¡£¡¡
¡¡¡¡¡¡¡¡¡¡Organizing¡¡your¡¡development¡¡is¡¡one¡¡of¡¡the¡¡most¡¡important¡¡tasks¡¡when¡¡writing¡¡code£»¡¡and¡¡¡¡
it¡¡is¡¡also¡¡typically¡¡the¡¡most¡¡confusing¡¡for¡¡new¡¡developers¡£¡¡Professional¡¡developers¡¡seem¡¡to¡¡¡¡
organize¡¡their¡¡work¡¡instinctively£»¡¡but¡¡it¡¡only¡¡appears¡¡that¡¡way¡¡because¡¡they¡¡have¡¡done¡¡it¡¡so¡¡¡¡
many¡¡times¡¡that¡¡the¡¡process¡¡has¡¡bee¡¡automatic¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡When¡¡developers¡¡are¡¡tasked¡¡with¡¡creating¡¡a¡¡program£»¡¡they¡¡are¡¡asked¡¡to¡¡write¡¡software¡¡that¡¡¡¡
implements¡¡a¡¡set¡¡of¡¡features¡£¡¡Features¡¡could¡¡include¡¡calculating¡¡daily¡¡interest¡¡payments£»¡¡auto
matically¡¡generating¡¡letters¡¡indicating¡¡the¡¡acceptance¡¡or¡¡rejection¡¡of¡¡a¡¡loan£»¡¡and¡¡so¡¡on¡£¡¡A¡¡feature¡¡¡¡
always¡¡relates¡¡to¡¡performing¡¡some¡¡task¡¡that¡¡is¡¡determined¡¡by¡¡some¡¡process¡£¡¡You¡¡could¡¡say¡¡that¡¡¡¡
feature¡¡implementation¡¡is¡¡the¡¡direct¡¡implementation¡¡of¡¡a¡¡task¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡25¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡48¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
26¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡AP¡¡T¡¡E¡¡R¡¡¡¡¡¡2¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡L¡¡E¡¡A¡¡R¡¡N¡¡IN¡¡G¡¡¡¡¡¡AB¡¡OU¡¡T¡¡¡¡¡¡¡£¡¡N¡¡E¡¡T¡¡¡¡N¡¡U¡¡M¡¡B¡¡E¡¡R¡¡¡¡¡¡A¡¡N¡¡D¡¡¡¡¡¡V¡¡A¡¡L¡¡U¡¡E¡¡¡¡¡¡T¡¡Y¡¡P¡¡E¡¡S¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡When¡¡defining¡¡the¡¡features£»¡¡two¡¡major¡¡steps¡¡are¡¡involved£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Gain¡¡an¡¡understanding¡¡of¡¡the¡¡features¡£¡¡You¡¡can¡¯t¡¡implement¡¡something¡¡that¡¡you¡¡don¡¯t¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡understand¡£¡¡To¡¡be¡¡able¡¡to¡¡write¡¡the¡¡source¡¡code¡¡for¡¡a¡¡feature£»¡¡you¡¡need¡¡to¡¡know¡¡the¡¡whys¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡and¡¡whats¡¡of¡¡a¡¡feature¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡o¡¡¡¡Describe¡¡the¡¡features¡¡using¡¡structured¡¡design¡¡methods¡£¡¡Simply¡¡organizing¡¡your¡¡thoughts¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡may¡¡be¡¡enough¡¡if¡¡you¡¡are¡¡the¡¡only¡¡person¡¡working¡¡on¡¡a¡¡program£»¡¡however£»¡¡more¡¡often¡¡than¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡not£»¡¡you¡¡will¡¡be¡¡part¡¡of¡¡a¡¡team¡£¡¡You¡¡need¡¡to¡¡use¡¡a¡¡structured¡¡design¡¡method¡¡so¡¡that¡¡you¡¡and¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡your¡¡team¡¡members¡¡can¡¡municate¡¡the¡¡thoughts¡¡related¡¡to¡¡program¡¡development¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡One¡¡mon¡¡structured¡¡design¡¡method¡¡is¡¡the¡¡Unified¡¡Modeling¡¡Language¡¡£¨UML£©¡£¡¡UML¡¡is¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡used¡¡to¡¡organize¡¡the¡¡features¡¡into¡¡units¡¡that¡¡correspond¡¡to¡¡programming¡¡language¡¡constructs£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡such¡¡as¡¡classes¡£¡¡Think¡¡of¡¡UML¡¡as¡¡software¡¡developer¡specific¡¡lingo¡¡used¡¡to¡¡describe¡¡the¡¡various¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡aspects¡¡of¡¡a¡¡programming¡¡environment¡¡at¡¡a¡¡higher¡¡level¡¡of¡¡abstraction¡£¡¡UML¡¡allows¡¡you¡¡to¡¡get¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡an¡¡overall¡¡understanding¡¡of¡¡the¡¡architecture¡¡without¡¡having¡¡to¡¡read¡¡the¡¡source¡¡code¡£¡¡Think¡¡of¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡UML¡¡as¡¡the¡¡structured¡¡doodle¡¡on¡¡the¡¡napkin¡¡of¡¡software¡¡programming¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Along¡¡with¡¡UML£»¡¡there¡¡are¡¡other¡¡ways¡¡of¡¡structuring¡¡your¡¡development¡¡process¡£¡¡For¡¡example£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡another¡¡technique¡¡is¡¡called¡¡agile¡¡software¡¡development¡£¡¡The¡¡idea¡¡with¡¡agile¡¡software¡¡develop
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ment¡¡is¡¡to¡¡use¡¡a¡¡whiteboard¡¡and¡¡develop¡¡your¡¡own¡¡structured¡¡munication¡¡mechanism¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡choice¡¡of¡¡UML£»¡¡agile¡¡software¡¡development£»¡¡or¡¡another¡¡structured¡¡design¡¡method¡¡is¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡up¡¡to¡¡you¡¡and¡¡your¡¡team¡¡members¡£¡¡But¡¡you¡¡will¡¡need¡¡to¡¡organize¡¡your¡¡thoughts¡¡and¡¡have¡¡a¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡structured¡¡munication¡¡technique¡£¡¡If¡¡you¡¡don¡¯t£»¡¡your¡¡software¡¡will¡¡be¡¡late£»¡¡buggy£»¡¡too¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡expensive£»¡¡or¡¡inplete¡£¡¡It¡¡is¡¡not¡¡an¡¡understatement¡¡to¡¡say¡¡that¡¡organization¡¡is¡¡half¡¡the¡¡battle¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡In¡¡this¡¡chapter£»¡¡I¡¡am¡¡going¡¡to¡¡give¡¡you¡¡a¡¡taste¡¡of¡¡a¡¡simplified¡¡structured¡¡development¡¡tech
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nique£»¡¡so¡¡that¡¡you¡¡at¡¡least¡¡have¡¡an¡¡idea¡¡of¡¡how¡¡structured¡¡development¡¡works¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Organizing¡¡the¡¡Calculator¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡To¡¡begin¡¡this¡¡chapter¡¯s¡¡example£»¡¡get¡¡a¡¡piece¡¡of¡¡paper¡¡and¡¡a¡¡pen¡¡or¡¡pencil£»¡¡or¡¡you¡¡can¡¡use¡¡a¡¡tablet¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PC¡¡for¡¡writing£»¡¡if¡¡you¡¡have¡¡one¡£¡¡Next£»¡¡in¡¡the¡¡center¡¡of¡¡the¡¡paper¡¡£¨or¡¡virtual¡¡paper£©£»¡¡draw¡¡a¡¡circle¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡and¡¡in¡¡it¡¡write¡¡the¡¡word¡¡¡¡Calculator¡£¡¡Now¡¡stop¡¡and¡¡think¡¡about¡¡what¡¡a¡¡calculator¡¡means¡¡with¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡respect¡¡to¡¡the¡¡software¡¡that¡¡you¡¡will¡¡be¡¡writing¡£¡¡Write¡¡those¡¡ideas¡¡on¡¡the¡¡paper¡¡surrounding¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡circle¡£¡¡My¡¡thoughts¡¡are¡¡shown¡¡in¡¡Figure¡¡2¡1¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Your¡¡thoughts¡¡and¡¡my¡¡thoughts¡¡may¡¡or¡¡may¡¡not¡¡be¡¡the¡¡same£»¡¡but¡¡what¡¡our¡¡results¡¡will¡¡have¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡in¡¡mon¡¡is¡¡a¡¡hodgepodge¡¡of¡¡ideas¡¡everywhere¡£¡¡Figure¡¡2¡1¡¡illustrates¡¡that¡¡one¡¡of¡¡the¡¡biggest¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡problems¡¡software¡¡developers¡¡face¡¡is¡¡lack¡¡of¡¡focus¡¡and¡¡organization¡£¡¡It¡¡is¡¡not¡¡that¡¡developers¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡can¡¯t¡¡focus¡¡or¡¡organize£»¡¡but¡¡that¡¡developers¡¡are¡¡bombarded¡¡by¡¡information£»¡¡and¡¡it¡¡is¡¡a¡¡Herculean¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡task¡¡to¡¡keep¡¡track¡¡of£»¡¡let¡¡alone¡¡organize£»¡¡all¡¡of¡¡that¡¡information¡£¡¡But¡¡software¡¡projects¡¡that¡¡are¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡successful¡¡must¡¡remain¡¡focused¡¡and¡¡organized¡£¡¡Therefore£»¡¡the¡¡next¡¡step¡¡is¡¡to¡¡focus¡¡and¡¡organize¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡your¡¡thoughts£»¡¡which¡¡results¡¡in¡¡something¡¡like¡¡Figure¡¡2¡2¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡In¡¡Figure¡¡2¡2£»¡¡the¡¡ideas¡¡are¡¡organized¡¡by¡¡classification¡£¡¡As¡¡this¡¡is¡¡book¡¡is¡¡about¡¡a¡¡program
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ming¡¡language£»¡¡the¡¡only¡¡relevant¡¡ideas¡¡are¡¡those¡¡related¡¡to¡¡source¡¡code¡¡functionality¡£¡¡Roughly¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡speaking£»¡¡in¡¡the¡¡source¡¡code¡¡category£»¡¡each¡¡thought¡¡corresponds¡¡to¡¡a¡¡fea