Submit Search
Upload
21 high-quality programming code construction part-i
•
Download as PPT, PDF
•
1 like
•
294 views
M
maznabili
Follow
High-quality programming code construction part 1
Read less
Read more
Technology
Report
Share
Report
Share
1 of 85
Download now
Recommended
Licenciado de Ciencias de la Información en su Nuevo Rol Gerencial
Licenciado de Ciencias de la Información en su Nuevo Rol Gerencial
Rafael Duin
Int ss 55
Int ss 55
Paul Robere
ileus Akut mekanik intestinal obstrüksiyon barsak tıkanıklığı
ileus Akut mekanik intestinal obstrüksiyon barsak tıkanıklığı
htyanar
Concepto objeto norma dipr
Concepto objeto norma dipr
JA AC
Culvert inspection and investigation
Culvert inspection and investigation
Eric Lestock Kay
Emile durkheim
Emile durkheim
Ayesha Yaqoob
Water for presentation
Water for presentation
Vedpal Yadav
Bab i bentuk negara
Bab i bentuk negara
wellayoufyetha
Recommended
Licenciado de Ciencias de la Información en su Nuevo Rol Gerencial
Licenciado de Ciencias de la Información en su Nuevo Rol Gerencial
Rafael Duin
Int ss 55
Int ss 55
Paul Robere
ileus Akut mekanik intestinal obstrüksiyon barsak tıkanıklığı
ileus Akut mekanik intestinal obstrüksiyon barsak tıkanıklığı
htyanar
Concepto objeto norma dipr
Concepto objeto norma dipr
JA AC
Culvert inspection and investigation
Culvert inspection and investigation
Eric Lestock Kay
Emile durkheim
Emile durkheim
Ayesha Yaqoob
Water for presentation
Water for presentation
Vedpal Yadav
Bab i bentuk negara
Bab i bentuk negara
wellayoufyetha
Kelas X : Bab I bentuk negara
Kelas X : Bab I bentuk negara
Novii Kanadia
Ptk 1 pendahuluan
Ptk 1 pendahuluan
Mas Ragil
2.3.3,4 economic and political geography
2.3.3,4 economic and political geography
Sandy Anthony
Autism Presentation_1A
Autism Presentation_1A
Lena Zammataro
05 bentuk penyelesaian sengketa
05 bentuk penyelesaian sengketa
Alalan Tanala
Guia Para Tu Exito Con Emgoldex
Guia Para Tu Exito Con Emgoldex
teamemgoldexhispano
UN Matters for Us
UN Matters for Us
Keshav Prasad Bhattarai
Metode & desain_kualitatif
Metode & desain_kualitatif
azisbustari
Z droit social des marins
Z droit social des marins
Rabah HELAL
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
DotNetMarche
Chapter 6 groups and formal organization
Chapter 6 groups and formal organization
Kent Hansen
Implant parts/dental implant courses by Indian dental academy
Implant parts/dental implant courses by Indian dental academy
Indian dental academy
Pemeriksaan fisik
Pemeriksaan fisik
Loverzz Dewest
Jurisp. garantías procesales. regla exclusión
Jurisp. garantías procesales. regla exclusión
Mariela Silva Cubas
Cancer ginecológico en niñas
Cancer ginecológico en niñas
Jorge Corimanya
4. kerangka-dasar-penyusunan-dan-penyajian-laporan-keuangan
4. kerangka-dasar-penyusunan-dan-penyajian-laporan-keuangan
innesnoorfatimah
Konsep sehat sakit keperawatan transkultural
Konsep sehat sakit keperawatan transkultural
sapakademik
Surfing Legends Final
Surfing Legends Final
gestrine
Surfing Legends Final
Surfing Legends Final
gestrine
Surfing legends power point
Surfing legends power point
gestrine
Surfing Legends Final
Surfing Legends Final
gestrine
Surfing legends final
Surfing legends final
gestrine
More Related Content
What's hot
Kelas X : Bab I bentuk negara
Kelas X : Bab I bentuk negara
Novii Kanadia
Ptk 1 pendahuluan
Ptk 1 pendahuluan
Mas Ragil
2.3.3,4 economic and political geography
2.3.3,4 economic and political geography
Sandy Anthony
Autism Presentation_1A
Autism Presentation_1A
Lena Zammataro
05 bentuk penyelesaian sengketa
05 bentuk penyelesaian sengketa
Alalan Tanala
Guia Para Tu Exito Con Emgoldex
Guia Para Tu Exito Con Emgoldex
teamemgoldexhispano
UN Matters for Us
UN Matters for Us
Keshav Prasad Bhattarai
Metode & desain_kualitatif
Metode & desain_kualitatif
azisbustari
Z droit social des marins
Z droit social des marins
Rabah HELAL
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
DotNetMarche
Chapter 6 groups and formal organization
Chapter 6 groups and formal organization
Kent Hansen
Implant parts/dental implant courses by Indian dental academy
Implant parts/dental implant courses by Indian dental academy
Indian dental academy
Pemeriksaan fisik
Pemeriksaan fisik
Loverzz Dewest
Jurisp. garantías procesales. regla exclusión
Jurisp. garantías procesales. regla exclusión
Mariela Silva Cubas
Cancer ginecológico en niñas
Cancer ginecológico en niñas
Jorge Corimanya
4. kerangka-dasar-penyusunan-dan-penyajian-laporan-keuangan
4. kerangka-dasar-penyusunan-dan-penyajian-laporan-keuangan
innesnoorfatimah
Konsep sehat sakit keperawatan transkultural
Konsep sehat sakit keperawatan transkultural
sapakademik
What's hot
(17)
Kelas X : Bab I bentuk negara
Kelas X : Bab I bentuk negara
Ptk 1 pendahuluan
Ptk 1 pendahuluan
2.3.3,4 economic and political geography
2.3.3,4 economic and political geography
Autism Presentation_1A
Autism Presentation_1A
05 bentuk penyelesaian sengketa
05 bentuk penyelesaian sengketa
Guia Para Tu Exito Con Emgoldex
Guia Para Tu Exito Con Emgoldex
UN Matters for Us
UN Matters for Us
Metode & desain_kualitatif
Metode & desain_kualitatif
Z droit social des marins
Z droit social des marins
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
Chapter 6 groups and formal organization
Chapter 6 groups and formal organization
Implant parts/dental implant courses by Indian dental academy
Implant parts/dental implant courses by Indian dental academy
Pemeriksaan fisik
Pemeriksaan fisik
Jurisp. garantías procesales. regla exclusión
Jurisp. garantías procesales. regla exclusión
Cancer ginecológico en niñas
Cancer ginecológico en niñas
4. kerangka-dasar-penyusunan-dan-penyajian-laporan-keuangan
4. kerangka-dasar-penyusunan-dan-penyajian-laporan-keuangan
Konsep sehat sakit keperawatan transkultural
Konsep sehat sakit keperawatan transkultural
Viewers also liked
Surfing Legends Final
Surfing Legends Final
gestrine
Surfing Legends Final
Surfing Legends Final
gestrine
Surfing legends power point
Surfing legends power point
gestrine
Surfing Legends Final
Surfing Legends Final
gestrine
Surfing legends final
Surfing legends final
gestrine
Surfing legends final
Surfing legends final
gestrine
Surfing legends
Surfing legends
gestrine
Viewers also liked
(7)
Surfing Legends Final
Surfing Legends Final
Surfing Legends Final
Surfing Legends Final
Surfing legends power point
Surfing legends power point
Surfing Legends Final
Surfing Legends Final
Surfing legends final
Surfing legends final
Surfing legends final
Surfing legends final
Surfing legends
Surfing legends
Similar to 21 high-quality programming code construction part-i
10 implementing hard drive
10 implementing hard drive
hafizhanif86
Hvac presentation
Hvac presentation
quocthaibrothers
Introduction to Health Informatics
Introduction to Health Informatics
Michael Bice
Phil106 2009 the morality of advertising - dan turton
Phil106 2009 the morality of advertising - dan turton
ekooketok
Time ss10
Time ss10
Paul Robere
02 lecture 2
02 lecture 2
Huawei Co Chow Zeu
Market research positioning
Market research positioning
Pankaj Soni
Resource management
Resource management
siobhanpdst
Mastering conflict in the workplace
Mastering conflict in the workplace
Evelyn Neale
Piper book review
Piper book review
Ciro Viamontes
system concept ppt
system concept ppt
google
Robots
Robots
Cesar Acuña Ramírez
supply chain mgmt
supply chain mgmt
sai precious
Negotiation skills
Negotiation skills
surekha pawar
internacional privado
internacional privado
JA AC
Contract negotiations
Contract negotiations
Saxbee Consultants
32491
32491
Helen Giles
Homeopathy
Homeopathy
Other Mother
Introduction to chemistry
Introduction to chemistry
DocumentStory
Description of Project based learning
Description of Project based learning
D Woody
Similar to 21 high-quality programming code construction part-i
(20)
10 implementing hard drive
10 implementing hard drive
Hvac presentation
Hvac presentation
Introduction to Health Informatics
Introduction to Health Informatics
Phil106 2009 the morality of advertising - dan turton
Phil106 2009 the morality of advertising - dan turton
Time ss10
Time ss10
02 lecture 2
02 lecture 2
Market research positioning
Market research positioning
Resource management
Resource management
Mastering conflict in the workplace
Mastering conflict in the workplace
Piper book review
Piper book review
system concept ppt
system concept ppt
Robots
Robots
supply chain mgmt
supply chain mgmt
Negotiation skills
Negotiation skills
internacional privado
internacional privado
Contract negotiations
Contract negotiations
32491
32491
Homeopathy
Homeopathy
Introduction to chemistry
Introduction to chemistry
Description of Project based learning
Description of Project based learning
More from maznabili
22 Methodology of problem solving
22 Methodology of problem solving
maznabili
21 High-quality programming code construction part-ii
21 High-quality programming code construction part-ii
maznabili
20 Object-oriented programming principles
20 Object-oriented programming principles
maznabili
19 Algorithms and complexity
19 Algorithms and complexity
maznabili
18 Hash tables and sets
18 Hash tables and sets
maznabili
17 Trees and graphs
17 Trees and graphs
maznabili
16 Linear data structures
16 Linear data structures
maznabili
15 Text files
15 Text files
maznabili
14 Defining classes
14 Defining classes
maznabili
13 Strings and text processing
13 Strings and text processing
maznabili
12 Exceptions handling
12 Exceptions handling
maznabili
11 Using classes and objects
11 Using classes and objects
maznabili
10 Recursion
10 Recursion
maznabili
09 Methods
09 Methods
maznabili
08 Numeral systems
08 Numeral systems
maznabili
07 Arrays
07 Arrays
maznabili
06 Loops
06 Loops
maznabili
05 Conditional statements
05 Conditional statements
maznabili
04 Console input output-
04 Console input output-
maznabili
03 Operators and expressions
03 Operators and expressions
maznabili
More from maznabili
(20)
22 Methodology of problem solving
22 Methodology of problem solving
21 High-quality programming code construction part-ii
21 High-quality programming code construction part-ii
20 Object-oriented programming principles
20 Object-oriented programming principles
19 Algorithms and complexity
19 Algorithms and complexity
18 Hash tables and sets
18 Hash tables and sets
17 Trees and graphs
17 Trees and graphs
16 Linear data structures
16 Linear data structures
15 Text files
15 Text files
14 Defining classes
14 Defining classes
13 Strings and text processing
13 Strings and text processing
12 Exceptions handling
12 Exceptions handling
11 Using classes and objects
11 Using classes and objects
10 Recursion
10 Recursion
09 Methods
09 Methods
08 Numeral systems
08 Numeral systems
07 Arrays
07 Arrays
06 Loops
06 Loops
05 Conditional statements
05 Conditional statements
04 Console input output-
04 Console input output-
03 Operators and expressions
03 Operators and expressions
21 high-quality programming code construction part-i
1.
HHiigghh--QQuuaalliittyy PPrrooggrraammmmiinngg CCooddee
CCoonnssttrruuccttiioonn –– PPaarrtt II RReevveeaalliinngg tthhee SSeeccrreettss ooff SSeellff--DDooccuummeennttiinngg CCooddee SSvveettlliinn NNaakkoovv TTeelleerriikk CCoorrppoorraattiioonn wwwwww..tteelleerriikk..ccoomm FFoorr CC## DDeevveellooppeerrss
2.
TTaabbllee ooff CCoonntteennttss
WWhhaatt iiss HHiigghh--QQuuaalliittyy PPrrooggrraammmmiinngg CCooddee?? EExxtteerrnnaall aanndd IInntteerrnnaall CCooddee QQuuaalliittyy NNaammiinngg IIddeennttiiffiieerrss NNaammiinngg TTyyppeess,, CCllaasssseess,, IInntteerrffaacceess,, EEnnuummeerraattiioonnss,, PPrrooppeerrttiieess,, MMeetthhooddss,, PPaarraammeetteerrss,, VVaarriiaabblleess,, CCoonnssttaannttss,, eettcc.. CCooddee FFoorrmmaattttiinngg DDeessiiggnniinngg HHiigghh--QQuuaalliittyy CCllaasssseess AAbbssttrraaccttiioonn,, EEnnccaappssuullaattiioonn,, IInnhheerriittaannccee,, RReeaassoonnss ttoo CCrreeaattee aa CCllaassss 2
3.
WWhhaatt iiss HHiigghh--QQuuaalliittyy
PPrrooggrraammmmiinngg CCooddee??
4.
WWhhyy tthhee CCooddee
QQuuaalliittyy IIss IImmppoorrttaanntt?? WWhhaatt ddooeess tthhiiss ccooddee ddoo?? IIss iitt ccoorrrreecctt?? 4 ssttaattiicc vvooiidd MMaaiinn(()) {{ iinntt vvaalluuee==001100,, ii==55,, ww;; sswwiittcchh((vvaalluuee)){{ccaassee 1100::ww==55;;CCoonnssoollee..WWrriitteeLLiinnee((ww));;bbrreeaakk;;ccaassee 99::ii==00;;bbrreeaakk;; ccaassee 88::CCoonnssoollee..WWrriitteeLLiinnee((""88 ""));;bbrreeaakk;; ddeeffaauulltt::CCoonnssoollee..WWrriitteeLLiinnee((""ddeeff ""));;{{ CCoonnssoollee..WWrriitteeLLiinnee((""hhoohhoo ""));; }} ffoorr ((iinntt kk == 00;; kk << ii;; kk++++,, CCoonnssoollee..WWrriitteeLLiinnee((kk -- ''ff''))));;bbrreeaakk;;}} {{ CCoonnssoollee..WWrriitteeLLiinnee((""lloooopp!!""));; }} }}
5.
WWhhyy tthhee CCooddee
QQuuaalliittyy IIss IImmppoorrttaanntt?? ((22)) NNooww tthhee ccooddee iiss ffoorrmmaatttteedd,, bbuutt iiss ssttiillll uunncclleeaarr.. 5 ssttaattiicc vvooiidd MMaaiinn(()) {{ iinntt vvaalluuee == 001100,, ii == 55,, ww;; sswwiittcchh ((vvaalluuee)) {{ ccaassee 1100:: ww == 55;; CCoonnssoollee..WWrriitteeLLiinnee((ww));; bbrreeaakk;; ccaassee 99:: ii == 00;; bbrreeaakk;; ccaassee 88:: CCoonnssoollee..WWrriitteeLLiinnee((""88 ""));; bbrreeaakk;; ddeeffaauulltt:: CCoonnssoollee..WWrriitteeLLiinnee((""ddeeff ""));; CCoonnssoollee..WWrriitteeLLiinnee((""hhoohhoo ""));; ffoorr ((iinntt kk == 00;; kk << ii;; kk++++,, CCoonnssoollee..WWrriitteeLLiinnee((kk -- ''ff'')))) ;; bbrreeaakk;; }} CCoonnssoollee..WWrriitteeLLiinnee((""lloooopp!!""));; }}
6.
SSooffttwwaarree QQuuaalliittyy
EExxtteerrnnaall qquuaalliittyy DDooeess tthhee ssooffttwwaarree bbeehhaavvee ccoorrrreeccttllyy?? AArree tthhee pprroodduucceedd rreessuullttss ccoorrrreecctt?? DDooeess tthhee ssooffttwwaarree rruunn ffaasstt?? IIss tthhee ssooffttwwaarree UUII eeaassyy--ttoo--uussee?? IInntteerrnnaall qquuaalliittyy IItt tthhee ccooddee eeaassyy ttoo rreeaadd aanndd uunnddeerrssttaanndd?? IItt tthhee ccooddee wweellll ssttrruuccttuurreedd?? IIss tthhee ccooddee eeaassyy ttoo mmooddiiffyy?? 6
7.
WWhhaatt iiss HHiigghh--QQuuaalliittyy
PPrrooggrraammmmiinngg CCooddee?? HHiigghh--qquuaalliittyy pprrooggrraammmmiinngg ccooddee:: EEaassyy ttoo rreeaadd aanndd uunnddeerrssttaanndd EEaassyy ttoo mmooddiiffyy aanndd mmaaiinnttaaiinn CCoorrrreecctt bbeehhaavviioorr iinn aallll ccaasseess WWeellll tteesstteedd WWeellll aarrcchhiitteeccttuurreedd aanndd ddeessiiggnneedd WWeellll ddooccuummeenntteedd SSeellff--ddooccuummeennttiinngg ccooddee WWeellll ffoorrmmaatttteedd 7
8.
CCooddee CCoonnvveennttiioonnss
CCooddee ccoonnvveennttiioonnss aarree ffoorrmmaall gguuiiddeelliinneess aabboouutt tthhee ssttyyllee ooff tthhee ssoouurrccee ccooddee:: CCooddee ffoorrmmaattttiinngg ccoonnvveennttiioonnss IInnddeennttaattiioonn,, wwhhiitteessppaaccee,, eettcc.. NNaammiinngg ccoonnvveennttiioonnss PPaassccaallCCaassee oorr ccaammeellCCaassee,, pprreeffiixxeess,, ssuuffffiixxeess,, eettcc.. BBeesstt pprraaccttiicceess CCllaasssseess,, iinntteerrffaacceess,, eennuummeerraattiioonnss,, ssttrruuccttuurreess,, iinnhheerriittaannccee,, eexxcceeppttiioonnss,, pprrooppeerrttiieess,, eevveennttss,, ccoonnssttrruuccttoorrss,, ffiieellddss,, ooppeerraattoorrss,, eettcc.. 8
9.
CCooddee CCoonnvveennttiioonnss ((22))
MMiiccrroossoofftt hhaass ooffffiicciiaall ccooddee ccoonnvveennttiioonnss ccaalllleedd DDeessiiggnn GGuuiiddeelliinneess ffoorr DDeevveellooppiinngg CCllaassss LLiibbrraarriieess:: hhttttpp::////mmssddnn..mmiiccrroossoofftt..ccoomm//eenn--uuss//lliibbrraarryy//mmss22229004422..aassppxx LLaarrggee oorrggaanniizzaattiioonnss ffoollllooww ssttrriicctt ccoonnvveennttiioonnss CCooddee ccoonnvveennttiioonnss ccaann vvaarryy iinn ddiiffffeerreenntt tteeaammss MMoosstt ccoonnvveennttiioonnss ddeevveellooppeerrss ffoollllooww tthhee ooffffiicciiaall MMiiccrroossoofftt''ss rreeccoommmmeennddaattiioonnss bbuutt eexxtteenndd tthheemm HHiigghh--qquuaalliittyy ccooddee ggooeess bbeeyyoonndd ccooddee ccoonnvveennttiioonnss SSooffttwwaarree qquuaalliittyy iiss nnoott jjuusstt aa sseett ooff ccoonnvveennttiioonnss –– iittss iiss aa wwaayy ooff tthhiinnkkiinngg 9
10.
MMaannaaggiinngg CCoommpplleexxiittyy MMaannaaggiinngg
ccoommpplleexxiittyy ppllaayyss aa cceennttrraall rroollee iinn ssooffttwwaarree ccoonnssttrruuccttiioonn MMiinniimmiizzee tthhee aammoouunntt ooff ccoommpplleexxiittyy tthhaatt aannyyoonnee’’ss bbrraaiinn hhaass ttoo ddeeaall wwiitthh aatt cceerrttaaiinn ttiimmee AArrcchhiitteeccttuurree aanndd ddeessiiggnn cchhaalllleennggeess DDeessiiggnn mmoodduulleess aanndd ccllaasssseess ttoo rreedduuccee ccoommpplleexxiittyy CCooddee ccoonnssttrruuccttiioonn cchhaalllleennggeess AAppppllyy ggoooodd ssooffttwwaarree ccoonnssttrruuccttiioonn pprraaccttiicceess:: ccllaasssseess,, mmeetthhooddss,, vvaarriiaabblleess,, nnaammiinngg,, ssttaatteemmeennttss,, eerrrroorr hhaannddlliinngg,, ffoorrmmaattttiinngg,, ccoommmmeennttss,, eettcc.. 10
11.
MMaannaaggiinngg CCoommpplleexxiittyy ((22))
KKeeyy ttoo bbeeiinngg aann eeffffeeccttiivvee pprrooggrraammmmeerr:: MMaaxxiimmiizziinngg tthhee ppoorrttiioonn ooff aa pprrooggrraamm tthhaatt yyoouu ccaann ssaaffeellyy iiggnnoorree wwhhiillee wwoorrkkiinngg oonn aannyy oonnee sseeccttiioonn ooff ccooddee MMoosstt pprraaccttiicceess ddiissccuusssseedd llaatteerr pprrooppoossee wwaayyss ttoo aacchhiieevvee tthhiiss iimmppoorrttaanntt ggooaall 11
12.
KKeeyy CChhaarraacctteerriissttiiccss ooff
HHiigghh--QQuuaalliittyy CCooddee CCoorrrreecctt bbeehhaavviioorr CCoonnffoorrmmiinngg ttoo tthhee rreeqquuiirreemmeennttss SSttaabbllee,, nnoo hhaannggss,, nnoo ccrraasshheess BBuugg ffrreeee CCoorrrreecctt rreessppoonnssee ttoo iinnccoorrrreecctt uussaaggee EEaassyy ttoo rreeaadd EEaassyy ttoo uunnddeerrssttaanndd MMaaiinnttaaiinnaabbllee –– eeaassyy ttoo mmooddiiffyy wwhheenn rreeqquuiirreedd 12
13.
NNaammiinngg IIddeennttiiffiieerrss NNaammiinngg
CCllaasssseess,, IInntteerrffaacceess,, EEnnuummeerraattiioonnss,, MMeetthhooddss,, VVaarriiaabblleess aanndd CCoonnssttaannttss
14.
GGeenneerraall NNaammiinngg GGuuiiddeelliinneess
AAllwwaayyss uussee EEnngglliisshh HHooww yyoouu wwiillll ffeeeell iiff yyoouu rreeaadd VViieettnnaammeessee ccooddee wwiitthh vvaarriiaabblleess nnaammeedd iinn VViieettnnaammeessee?? EEnngglliisshh iiss tthhee oonnllyy llaanngguuaaggee tthhaatt aallll ssooffttwwaarree ddeevveellooppeerrss ssppeeaakk AAvvooiidd aabbbbrreevviiaattiioonnss EExxaammppllee:: ssccrrppCCnntt vvss.. ssccrriippttssCCoouunntt AAvvooiidd hhaarrdd--ttoo--pprroonnoouunnccee nnaammeess EExxaammppllee:: ddttbbggRReeggEExxPPttrrnn vvss.. ddaatteeTTiimmeeBBuullggaarriiaannRReeggEExxPPaatttteerrnn 14
15.
UUssee MMeeaanniinnggffuull NNaammeess
AAllwwaayyss pprreeffeerr uussiinngg mmeeaanniinnggffuull nnaammeess NNaammeess sshhoouulldd aannsswweerr tthheessee qquueessttiioonnss:: WWhhaatt ddooeess tthhiiss ccllaassss ddoo?? WWhhaatt iiss tthhee iinntteenntt ooff tthhiiss vvaarriiaabbllee?? WWhhaatt iiss tthhiiss vvaarriiaabbllee // ccllaassss uusseedd ffoorr?? EExxaammpplleess:: FFaaccttoorriiaallCCaallccuullaattoorr,, ssttuuddeennttssCCoouunntt,, MMaatthh..PPII,, ccoonnffiiggFFiilleeNNaammee,, CCrreeaatteeRReeppoorrtt IInnccoorrrreecctt eexxaammpplleess:: kk,, kk22,, kk33,, jjuunnkk,, ff3333,, KKJJJJ,, bbuuttttoonn11,, vvaarriiaabbllee,, tteemmpp,, ttmmpp,, tteemmpp__vvaarr,, ssoommeetthhiinngg,, ssoommeeVVaalluuee 15
16.
NNaammeess SShhoouulldd bbee
MMeeaanniinnggffuull iinn TThheeiirr CCoonntteexxtt WWhheetthheerr aa nnaammee iiss mmeeaanniinnggffuull oorr nnoott ddeeppeennddss oonn iittss ccoonntteexxtt ((iittss eenncclloossiinngg ttyyppee)) EExxaammpplleess ooff mmeeaanniinnggffuull nnaammeess:: GGeenneerraattee(()) iinn tthhee ccllaassss LLaabbyyrriinntthhGGeenneerraattoorr FFiinndd((ssttrriinngg ffiilleeNNaammee)) iinn tthhee ccllaassss FFiilleeFFiinnddeerr DDeeppoossiitt((ddeecciimmaall aammoouunntt)) iinn tthhee ccllaassss AAccccoouunntt EExxaammpplleess ooff mmeeaanniinngglleessss nnaammeess:: GGeenneerraattee(()) iinn tthhee ccllaassss PPrrooggrraamm FFiinndd((ssttrriinngg ffiilleeNNaammee)) iinn tthhee ccllaassss PPrrooggrraamm 16
17.
FFaakkee MMeeaanniinnggffuull NNaammeess
JJuunniioorr ddeevveellooppeerrss oofftteenn uussee mmeeaanniinnggffuull nnaammeess tthhaatt aarree iinn ffaacctt mmeeaanniinngglleessss BBaadd nnaammiinngg eexxaammpplleess:: TTooppiicc66EExxeerrcciissee1122,, LLooooppssEExxeerrcciissee1122,, PPrroobblleemm77,, OOOOPPLLeeccttuurree__LLaassttEExxeerrcciissee YYeess,, TTooppiicc66EExxeerrcciissee1122 iinnddiiccaatteess tthhaatt tthhiiss iiss ssoolluuttiioonn ttoo eexxeerrcciissee 1122,, bbuutt wwhhaatt iiss iitt aabboouutt?? BBeetttteerr nnaammiinngg:: MMaaxxiimmaallNNuummbbeerrssSSuubbsseeqquueennccee 17
18.
NNaammiinngg TTyyppeess NNaammiinngg
ttyyppeess ((ccllaasssseess,, ssttrruuccttuurreess,, eettcc..)) UUssee PPaassccaallCCaassee cchhaarraacctteerr ccaassiinngg EExxaammpplleess:: RReeccuurrssiivveeFFaaccttoorriiaallCCaallccuullaattoorr,, TTrreeeeSSeett,, XXmmllDDooccuummeenntt,, IIEEnnuummeerraabbllee,, CCoolloorr,, TTrreeeeNNooddee,, IInnvvaalliiddTTrraannssaaccttiioonnEExxcceeppttiioonn,, MMaaiinnFFoorrmm IInnccoorrrreecctt eexxaammpplleess:: rreeccuurrssiivveeFFaaccttoorriiaallCCaallccuullaattoorr,, rreeccuurrssiivvee__ffaaccttoorriiaall__ccaallccuullaattoorr,, RREECCUURRSSIIVVEE__FFAACCTTOORRIIAALL__CCAALLCCUULLAATTOORR 18
19.
NNaammiinngg CCllaasssseess aanndd
SSttrruuccttuurreess UUssee tthhee ffoolllloowwiinngg ffoorrmmaattss:: [[NNoouunn]] [[AAddjjeeccttiivvee]] ++ [[NNoouunn]] EExxaammpplleess:: SSttuuddeenntt,, FFiilleeSSyysstteemm,, BBiinnaarryyTTrreeeeNNooddee,, CCoonnssttaannttss,, MMaatthhUUttiillss,, TTeexxttBBooxx,, CCaalleennddaarr IInnccoorrrreecctt eexxaammpplleess:: MMoovvee,, FFiinnddUUsseerrss,, FFaasstt,, OOppttiimmiizzee,, EExxttrreemmllyy,, FFaassttFFiinnddIInnDDaattaabbaassee,, CChheecckk 19
20.
NNaammiinngg IInntteerrffaacceess
FFoolllloowwiinngg ffoorrmmaattss aarree aacccceeppttaabbllee:: ''II'' ++ [[VVeerrbb]] ++ ''aabbllee'' ''II'' ++ [[NNoouunn]],, ''II'' ++ [[AAddjjeeccttiivvee]] ++ [[NNoouunn]] EExxaammpplleess:: IIEEnnuummeerraabbllee,, IIFFoorrmmaattttaabbllee,, IIDDaattaaRReeaaddeerr,, IILLiisstt,, IIHHttttppMMoodduullee,, IICCoommmmaannddEExxeeccuuttoorr IInnccoorrrreecctt eexxaammpplleess:: LLiisstt,, FFiinnddUUsseerrss,, IIFFaasstt,, IIMMeemmoorryyOOppttiimmiizzee,, OOppttiimmiizzeerr,, FFaassttFFiinnddIInnDDaattaabbaassee,, CChheecckkBBooxx 20
21.
NNaammiinngg EEnnuummeerraattiioonnss
SSeevveerraall ffoorrmmaattss aarree aacccceeppttaabbllee:: [[NNoouunn]] oorr [[VVeerrbb]] oorr [[AAddjjeeccttiivvee]] UUssee tthhee ssaammee ssttyyllee ffoorr aallll mmeemmbbeerrss EExxaammpplleess:: eennuumm DDaayy {{MMoonnddaayy,, TTuueessddaayy,, WWeeddnneessddaayy,, ……}},, eennuumm AAppppSSttaattee {{RRuunnnniinngg,, FFiinniisshheedd,, ……}},, eennuumm WWiinnddoowwSSttaattee {{NNoorrmmaall,, MMaaxxiimmiizzeedd,, ……}} IInnccoorrrreecctt eexxaammpplleess:: eennuumm CCoolloorr {{rreedd,, ggrreeeenn,, bblluuee,, wwhhiittee}},, eennuumm PPAAGGEE__FFOORRMMAATT {{AA44,, AA55,, AA33,, LLEEGGAALL,, ……}} 21
22.
NNaammiinngg SSppeecciiaall CCllaasssseess
EExxcceeppttiioonnss AAdddd ''EExxcceeppttiioonn'' aass ssuuffffiixx UUssee iinnffoorrmmaattiivvee nnaammee EExxaammppllee:: FFiilleeNNoottFFoouunnddEExxcceeppttiioonn IInnccoorrrreecctt eexxaammppllee:: FFiilleeNNoottFFoouunnddEErrrroorr DDeelleeggaattee CCllaasssseess AAdddd ''DDeelleeggaattee'' oorr ''EEvveennttHHaannddlleerr'' aass ssuuffffiixx EExxaammppllee:: DDoowwnnllooaaddFFiinniisshheeddDDeelleeggaattee IInnccoorrrreecctt eexxaammppllee:: WWaakkeeUUppNNoottiiffiiccaattiioonn 22
23.
TThhee LLeennggtthh ooff
CCllaassss NNaammeess HHooww lloonngg ccoouulldd bbee tthhee nnaammee ooff aa ccllaassss // ssttrruucctt // iinntteerrffaaccee // eennuumm?? TThhee nnaammee sshhoouulldd bbee aass lloonngg aass rreeqquuiirreedd DDoonn''tt aabbbbrreevviiaattee tthhee nnaammeess iiff tthhiiss ccoouulldd mmaakkee tthheemm uunncclleeaarr YYoouurr IIDDEE hhaass aauuttooccoommpplleettee,, rriigghhtt?? EExxaammpplleess:: FFiilleeNNoottFFoouunnddEExxcceeppttiioonn,, CCuussttoommeerrSSuuppppoorrttNNoottiiffiiccaattiioonnSSeerrvviiccee IInnccoorrrreecctt eexxaammpplleess:: FFNNFFEExxcceeppttiioonn,, CCuussttSSuuppppNNoottiiffSSrrvvcc 23
24.
NNaammiinngg NNaammeessppaacceess NNaammeessppaacceess
nnaammiinngg gguuiiddeelliinneess UUssee PPaassccaallCCaassee FFoolllloowwiinngg ffoorrmmaattss aarree aacccceeppttaabbllee:: CCoommppaannyy..PPrroodduucctt..CCoommppoonneenntt.. …… PPrroodduucctt..CCoommppoonneenntt..…… EExxaammppllee:: TTeelleerriikk..WWiinnCCoonnttrroollss..GGrriiddVViieeww IInnccoorrrreecctt eexxaammppllee:: TTeelleerriikk__WWiinnCCoonnttrroollssGGrriiddVViieeww,, CCllaasssseess 24
25.
NNaammiinngg AAsssseemmbblliieess AAsssseemmbbllyy
nnaammeess sshhoouulldd ffoollllooww tthhee rroooott nnaammeessppaaccee iinn iittss ccllaassss hhiieerraarrcchhyy EExxaammpplleess:: TTeelleerriikk..WWiinnCCoonnttrroollss..GGrriiddVViieeww..ddllll OOrraaccllee..DDaattaaAAcccceessss..ddllll IInntteerroopp..CCAAPPIICCOOMM..ddllll IInnccoorrrreecctt eexxaammpplleess:: TTeelleerriikk__WWiinnCCoonnttrroollssGGrriiddVViieeww..ddllll OOrraacclleeDDaattaaAAcccceessss..ddllll 25
26.
NNaammiinngg MMeetthhooddss MMeetthhooddss
nnaammiinngg gguuiiddeelliinneess MMeetthhoodd nnaammeess sshhoouulldd bbee mmeeaanniinnggffuull SShhoouulldd aannsswweerr tthhee qquueessttiioonn:: WWhhaatt ddooeess tthhiiss mmeetthhoodd ddoo?? IIff yyoouu ccaannnnoott ffiinndd aa ggoooodd nnaammee ffoorr aa mmeetthhoodd,, tthhiinnkk aabboouutt ddooeess iitt hhaavvee cclleeaarr iinntteenntt EExxaammpplleess:: FFiinnddSSttuuddeenntt,, LLooaaddRReeppoorrtt,, SSiinnuuss IInnccoorrrreecctt eexxaammpplleess:: MMeetthhoodd11,, DDooSSoommeetthhiinngg,, HHaannddlleeSSttuuffff,, SSaammpplleeMMeetthhoodd,, DDiirrttyyHHaacckk 26
27.
NNaammiinngg MMeetthhooddss ((22))
UUssee PPaassccaallCCaassee cchhaarraacctteerr ccaassiinngg EExxaammppllee:: LLooaaddSSeettttiinnggss,, nnoott llooaaddSSeettttiinnggss PPrreeffeerr tthhee ffoolllloowwiinngg ffoorrmmaattss:: [[VVeerrbb]] [[VVeerrbb]] ++ [[NNoouunn]],, [[VVeerrbb]] ++ [[AAddjjeeccttiivvee]] ++ [[NNoouunn]] EExxaammpplleess:: SShhooww,, LLooaaddSSeettttiinnggssFFiillee,, FFiinnddNNooddeeBByyPPaatttteerrnn,, TTooSSttrriinngg,, PPrriinnttLLiisstt IInnccoorrrreecctt eexxaammpplleess:: SSttuuddeenntt,, CCoouunntteerr,, WWhhiittee,, GGeenneerraattoorr,, AApppprrooxxiimmaattiioonn,, MMaatthhUUttiillss 27
28.
MMeetthhooddss RReettuurrnniinngg aa
VVaalluuee MMeetthhooddss rreettuurrnniinngg vvaalluueess sshhoouulldd ddeessccrriibbee tthhee rreettuurrnneedd vvaalluuee EExxaammpplleess:: CCoonnvveerrttMMeetteerrssTTooIInncchheess,, nnoott MMeetteerrssIInncchheess oorr CCoonnvveerrtt oorr CCoonnvveerrttUUnniitt MMeetteerrss22IInncchheess iiss ssttiillll aacccceeppttaabbllee CCaallccuullaatteeSSiinnuuss iiss ggoooodd SSiinnuuss iiss aallssoo aacccceeppttaabbllee EEnnssuurree tthhaatt tthhee uunniitt ooff mmeeaassuurree ooff oobbvviioouuss PPrreeffeerr MMeeaassuurreeFFoonnttIInnPPiixxeellss ttoo MMeeaassuurreeFFoonntt 28
29.
SSiinnggllee PPuurrppoossee ooff
AAllll MMeetthhooddss MMeetthhooddss sshhoouulldd hhaavvee aa ssiinnggllee ppuurrppoossee!! OOtthheerrwwiissee tthheeyy ccaannnnoott bbee nnaammeedd wweellll HHooww ttoo nnaammee aa mmeetthhoodd tthhaatt ccrreeaatteess aannnnuuaall iinnccoommeess rreeppoorrtt,, ddoowwnnllooaaddss uuppddaatteess ffrroomm iinntteerrnneett aanndd ssccaannss tthhee ssyysstteemm ffoorr vviirruusseess?? CCrreeaatteeAAnnnnuuaallIInnccoommeessRReeppoorrttDDoowwnnllooaaddUUppddaa tteessAAnnddSSccaannFFoorrVViirruusseess iiss aa nniiccee nnaammee,, rriigghhtt?? MMeetthhooddss tthhaatt hhaavvee mmuullttiippllee ppuurrppoosseess ((wweeaakk ccoohheessiioonn)) aarree hhaarrdd ttoo bbee nnaammeedd NNeeeedd ttoo bbee rreeffaaccttoorreedd iinnsstteeaadd ooff nnaammeedd 29
30.
CCoonnssiisstteennccyy iinn MMeetthhooddss
NNaammiinngg UUssee ccoonnssiisstteenntt nnaammiinngg iinn tthhee eennttiirree pprroojjeecctt LLooaaddFFiillee,, LLooaaddIImmaaggeeFFrroommFFiillee,, LLooaaddSSeettttiinnggss,, LLooaaddFFoonntt,, LLooaaddLLiibbrraarryy,, bbuutt nnoott RReeaaddTTeexxttFFiillee UUssee ccoonnssiisstteennttllyy tthhee ooppppoossiitteess aatt tthhee ssaammee lleevveell ooff aabbssttrraaccttiioonn:: LLooaaddLLiibbrraarryy vvss.. UUnnllooaaddLLiibbrraarryy,, bbuutt nnoott FFrreeeeHHaannddllee OOppeennFFiillee vvss.. CClloosseeFFiillee,, bbuutt nnoott DDeeaallllooccaatteeRReessoouurrccee GGeettNNaammee vvss.. SSeettNNaammee,, bbuutt nnoott AAssssiiggnnNNaammee 30
31.
TThhee LLeennggtthh ooff
MMeetthhoodd NNaammeess HHooww lloonngg ccoouulldd bbee tthhee nnaammee ooff aa mmeetthhoodd?? TThhee nnaammee sshhoouulldd bbee aass lloonngg aass rreeqquuiirreedd DDoonn''tt aabbbbrreevviiaattee YYoouurr IIDDEE hhaass aauuttooccoommpplleettee EExxaammpplleess:: LLooaaddCCuussttoommeerrSSuuppppoorrttNNoottiiffiiccaattiioonnSSeerrvviiccee,, CCrreeaatteeMMoonntthhllyyAAnnddAAnnnnuuaallIInnccoommeessRReeppoorrtt IInnccoorrrreecctt eexxaammpplleess:: LLooaaddCCuussttSSuuppppSSrrvvcc,, CCrreeaatteeMMoonntthhIInnccRReeppoorrtt 31
32.
NNaammiinngg MMeetthhoodd PPaarraammeetteerrss
MMeetthhoodd ppaarraammeetteerrss nnaammeess PPrreeffeerrrreedd ffoorrmm:: [[NNoouunn]] oorr [[AAddjjeeccttiivvee]] ++ [[NNoouunn]] SShhoouulldd bbee iinn ccaammeellCCaassee SShhoouulldd bbee mmeeaanniinnggffuull UUnniitt ooff mmeeaassuurree sshhoouulldd bbee oobbvviioouuss EExxaammpplleess:: ffiirrssttNNaammee,, rreeppoorrtt,, uusseerrssLLiisstt,, ffoonnttSSiizzeeIInnPPiixxeellss,, ssppeeeeddKKmmHH,, ffoonntt IInnccoorrrreecctt eexxaammpplleess:: pp,, pp11,, pp22,, ppooppuullaattee,, LLaassttNNaammee,, llaasstt__nnaammee,, ccoonnvveerrttIImmaaggee 32
33.
NNaammiinngg VVaarriiaabblleess VVaarriiaabbllee
nnaammeess SShhoouulldd bbee iinn ccaammeellCCaassee PPrreeffeerrrreedd ffoorrmm:: [[NNoouunn]] oorr [[AAddjjeeccttiivvee]] ++ [[NNoouunn]] SShhoouulldd eexxppllaaiinn tthhee ppuurrppoossee ooff tthhee vvaarriiaabbllee IIff yyoouu ccaann''tt ffiinndd ggoooodd nnaammee ffoorr aa vvaarriiaabbllee cchheecckk iiff iitt hhaass aa ssiinnggllee ppuurrppoossee EExxcceeppttiioonn:: vvaarriiaabblleess wwiitthh vveerryy ssmmaallll ssccooppee,, ee..gg.. tthhee iinnddeexx vvaarriiaabbllee iinn aa 33--lliinneess lloonngg ffoorr--lloooopp NNaammeess sshhoouulldd bbee ccoonnssiisstteenntt iinn tthhee pprroojjeecctt 33
34.
NNaammiinngg VVaarriiaabblleess ––
EExxaammppllee EExxaammpplleess:: ffiirrssttNNaammee,, rreeppoorrtt,, uusseerrssLLiisstt ,, ffoonnttSSiizzee,, mmaaxxSSppeeeedd,, ffoonntt,, ssttaarrttIInnddeexx,, eennddIInnddeexx,, cchhaarrssCCoouunntt,, ccoonnffiiggSSeettttiinnggssXXmmll,, ccoonnffiigg,, ddbbCCoonnnneeccttiioonn,, ssqqllCCoommmmaannddCCrreeaatteeUUsseerr IInnccoorrrreecctt eexxaammpplleess:: ffoooo,, bbaarr,, pp,, pp11,, pp22,, ppooppuullaattee,, LLaassttNNaammee,, llaasstt__nnaammee,, LLAASSTT__NNAAMMEE,, ccoonnvveerrttIImmaaggee,, mmoovveeMMaarrggiinn,, MMAAXXSSppeeeedd,, __ffiirrssttNNaammee,, ____tteemmpp,, ffiirrssttNNaammeeMMiiddddlleeNNaammeeAAnnddLLaassttNNaammee 34
35.
MMoorree aabboouutt NNaammiinngg
VVaarriiaabblleess TThhee nnaammee sshhoouulldd bbee aaddddrreesssseedd ttoo tthhee pprroobblleemm wwee ssoollvvee,, nnoott ttoo tthhee mmeeaannss wwee uussee ttoo ssoollvvee iitt PPrreeffeerr nnoouunnss ffrroomm tthhee bbuussiinneessss ddoommaaiinn ttoo ccoommppuutteerr tteerrmmss EExxaammpplleess:: aaccccoouunnttss,, ccuussttoommeerrss,, ccuussttoommeerrAAddddrreessss,, aaccccoouunnttHHoollddeerr,, ppaayymmeennttPPllaann,, vviippPPllaayyeerr IInnccoorrrreecctt eexxaammpplleess:: aaccccoouunnttssLLiinnkkeeddLLiisstt,, ccuussttoommeerrssHHaasshhttaabbllee,, ppaayymmeennttssPPrriioorriittyyQQuueeuuee,, ppllaayyeerrssAArrrraayy 35
36.
NNaammiinngg BBoooolleeaann VVaarriiaabblleess
BBoooolleeaann vvaarriiaabblleess sshhoouulldd iimmppllyy ttrruuee oorr ffaallssee PPrreeffiixxeess lliikkee iiss,, hhaass aanndd ccaann aarree uusseeffuull UUssee ppoossiittiivvee bboooolleeaann vvaarriiaabbllee nnaammeess IInnccoorrrreecctt eexxaammppllee:: iiff ((!! nnoottFFoouunndd)) {{ …… }} EExxaammpplleess:: hhaassPPeennddiinnggPPaayymmeenntt,, ccuussttoommeerrFFoouunndd,, vvaalliiddAAddddrreessss,, ppoossiittiivveeBBaallaannccee,, iissPPrriimmee IInnccoorrrreecctt eexxaammpplleess:: nnoottFFoouunndd,, rruunn,, pprrooggrraammSSttoopp,, ppllaayyeerr,, lliisstt,, ffiinnddCCuussttoommeerrBByyIIdd,, iissUUnnssuucccceessssffuullll 36
37.
NNaammiinngg SSppeecciiaall VVaarriiaabblleess
NNaammiinngg CCoouunntteerrss EEssttaabblliisshh aa ccoonnvveennttiioonn,, ee..gg.. [[NNoouunn]] ++ ''CCoouunntt'' EExxaammpplleess:: ttiicckkeettssCCoouunntt,, ccuussttoommeerrssCCoouunntt SSttaattee EEssttaabblliisshh aa ccoonnvveennttiioonn,, ee..gg.. [[NNoouunn]] ++ ''SSttaattee'' EExxaammpplleess:: bbllooggPPaarrsseeSSttaattee,, tthhrreeaaddSSttaattee VVaarriiaabblleess wwiitthh ssmmaallll ssccooppee aanndd ssppaann SShhoorrtt nnaammeess ccaann bbee uusseedd,, ee..gg.. iinnddeexx,, ii,, uu 37
38.
TTeemmppoorraarryy VVaarriiaabblleess DDoo
rreeaallllyy tteemmppoorraarryy vvaarriiaabblleess eexxiisstt?? AAllll vvaarriiaabblleess iinn aa pprrooggrraamm aarree tteemmppoorraarryy bbeeccaauussee tthheeyy aarree uusseedd tteemmppoorraarriillyy oonnllyy dduurriinngg tthhee pprrooggrraamm eexxeeccuuttiioonn,, rriigghhtt?? TTeemmppoorraarryy vvaarriiaabblleess ccaann aallwwaayyss bbee nnaammeedd bbeetttteerr tthhaann tteemmpp oorr ttmmpp:: 38 //// SSwwaapp aa[[ii]] aanndd aa[[jj]] iinntt tteemmpp == aa[[ii]];; aa[[ii]] == aa[[jj]];; aa[[jj]] == tteemmpp;; //// SSwwaapp aa[[ii]] aanndd aa[[jj]] iinntt oollddVVaalluuee == aa[[ii]];; aa[[ii]] == aa[[jj]];; aa[[jj]] == oollddVVaalluuee;;
39.
TThhee LLeennggtthh ooff
VVaarriiaabbllee NNaammeess HHooww lloonngg ccoouulldd bbee tthhee nnaammee ooff aa vvaarriiaabbllee?? DDeeppeennddss oonn tthhee vvaarriiaabbllee ssccooppee aanndd lliiffeettiimmee MMoorree ""ffaammoouuss"" vvaarriiaabblleess sshhoouulldd hhaavvee lloonnggeerr aanndd mmoorree sseellff--eexxppllaaiinniinngg nnaammee AAcccceeppttaabbllee nnaammiinngg eexxaammpplleess:: UUnnaacccceeppttaabbllee nnaammiinngg eexxaammpplleess:: 39 ffoorr ((iinntt ii==00;; ii<<uusseerrss..LLeennggtthh;; ii++++)) iiff ((ii %% 22 ==== 00)) ssuumm ++== uusseerrss[[ii]]..WWeeiigghhtt;; ccllaassss SSttuuddeenntt {{ ppuubblliicc ssttrriinngg llaassttNNaammee;; }} ccllaassss SSttuuddeenntt {{ pprriivvaattee iinntt ii;; }} ccllaassss PPaaiirrOOffLLiissttss {{ ppuubblliicc iinntt CCoouunntt {{ ggeett;; sseett;; }} }}
40.
PPrreeffiixxeess // SSuuffffiixxeess
aanndd HHuunnggaarriiaann NNoottaattiioonn IInn CC## pprreeffiixx // ssuuffffiixx nnoottaattiioonnss aarree nnoott ppooppuullaarr HHuunnggaarriiaann nnoottaattiioonn UUssiinngg pprreeffiixxeess ttoo ddeennoottee tthhee vvaarriiaabbllee ttyyppeess,, ee..gg.. llppccssttrrTTeexxtt,, llppddwwFFllaaggss,, ccbbMMuullttiiBByyttee,, hhWWnndd TThhee HHuunnggaarriiaann nnoottaattiioonn wwoorrkkss wweellll iinn uunnmmaannaaggeedd llaanngguuaaggeess lliikkee CC++++ DDoo nnoott uussee HHuunnggaarriiaann nnoottaattiioonn iinn CC## aanndd ..NNEETT DDoonn''tt uussee pprreeffiixxeess // ssuuffffiixxeess ttoo ddeennoottee tthhee vvaarriiaabbllee ddaattaa ttyyppee 40
41.
NNaammiinngg PPrrooppeerrttiieess
NNaammee pprrooppeerrttiieess iinn CC## uussiinngg aa nnoouunn,, nnoouunn pphhrraassee,, oorr aann aaddjjeeccttiivvee UUssee PPaassccaall CCaassee EExxaammpplleess:: IInnccoorrrreecctt eexxaammpplleess:: 41 ppuubblliicc iinntt LLeennggtthh {{ …… }} ppuubblliicc CCoolloorr BBaacckkggrroouunnddCCoolloorr {{ …… }} ppuubblliicc CCaacchheeMMooddee CCaacchheeMMooddee {{ …… }} ppuubblliicc bbooooll LLooaaddeedd {{ …… }} ppuubblliicc iinntt LLooaadd {{ …… }} ppuubblliicc CCoolloorr bbaacckkggrroouunnddCCoolloorr {{ …… }} ppuubblliicc bbooooll FFoonntt {{ …… }}
42.
NNaammiinngg CCoonnssttaannttss
UUssee CCAAPPIITTAALL__LLEETTTTEERRSS ffoorr ccoonnsstt ffiieellddss aanndd PPaassccaallCCaassee ffoorr rreeaaddoonnllyy ffiieellddss UUssee mmeeaanniinnggffuull nnaammeess tthhaatt ddeessccrriibbee tthheeiirr vvaalluuee EExxaammpplleess:: IInnccoorrrreecctt eexxaammpplleess:: 42 pprriivvaattee ccoonnsstt iinntt RREEAADD__BBUUFFFFEERR__SSIIZZEE == 88119922;; ppuubblliicc ssttaattiicc rreeaaddoonnllyy PPaaggeeSSiizzee DDeeffaauullttPPaaggeeSSiizzee == PPaaggeeSSiizzee..AA44;; pprriivvaattee ccoonnsstt iinntt FFOONNTT__SSIIZZEE__IINN__PPOOIINNTTSS == 1166;; ppuubblliicc ccoonnsstt iinntt MMAAXX == 551122;; //// MMaaxx wwhhaatt?? AApppplleess oorr OOrraannggeess?? ppuubblliicc ccoonnsstt iinntt BBUUFF225566 == 225566;; //// WWhhaatt aabboouutt BBUUFF225566 == 11002244?? ppuubblliicc ccoonnsstt ssttrriinngg GGRREEAATTEERR == ""&&ggtt;;"";; //// GGRREEAATTEERR__HHTTMMLL__EENNTTIITTYY ppuubblliicc ccoonnsstt iinntt FFOONNTT__SSIIZZEE == 1166;; //// 1166pptt oorr 1166ppxx?? ppuubblliicc ccoonnsstt PPaaggeeSSiizzee PPAAGGEE == PPaaggeeSSiizzee..AA44;; //// MMaayybbee PPAAGGEE__SSIIZZEE??
43.
NNaammeess ttoo AAvvooiidd
DDoonn''tt uussee nnuummbbeerrss iinn tthhee iiddeennttiiffiieerrss nnaammeess EExxaammppllee:: PPrriinnttRReeppoorrtt aanndd PPrriinnttRReeppoorrtt22 WWhhaatt iiss tthhee ddiiffffeerreennccee?? EExxcceeppttiioonnss:: WWhheenn tthhee nnuummbbeerr iiss ppaarrtt ooff tthhee nnaammee iittsseellff,, ee..gg.. RRSS223322PPoorrtt,, CCOOMM33,, WWiinn3322AAPPIIFFuunnccttiioonnss DDoonn''tt uussee CCyyrriilllliicc oorr lleetttteerrss ffrroomm ootthheerr aallpphhaabbeettss EE..gg.. FFiinnddССттууддееннттBByyNNaammee,, CCaallccΩΩ22PPrrootteeiinn 43
44.
NNeevveerr GGiivvee aa
MMiisslleeaaddiinngg NNaammee!! GGiivviinngg aa mmiisslleeaaddiinngg nnaammee iiss wwoorrssee tthhaann ggiivviinngg aa ttoottaallllyy uunncclleeaarr nnaammee EExxaammppllee:: CCoonnssiiddeerr aa mmeetthhoodd tthhaatt ccaallccuullaatteess tthhee ssuumm ooff aallll eelleemmeennttss iinn aann aarrrraayy IIttss sshhoouulldd bbee nnaammeedd SSuumm oorr CCaallccuullaatteeSSuumm WWhhaatt aabboouutt nnaammiinngg iitt CCaallccuullaatteeAAvveerraaggee oorr MMaaxx oorr CChheecckkFFoorrNNeeggaattiivveeNNuummbbeerr?? IItt''ss ccrraazzyy,, bbuutt bbee ccaarreeffuull wwiitthh ""ccooppyy--ppaassttee"" 44
45.
DDoonn''tt BBeelliieevvee MMiiccrroossoofftt!!
MMiiccrroossoofftt ssoommeettiimmeess uussee rreeaallllyy bbaadd nnaammiinngg iinn tthheeiirr AAPPII lliibbrraarriieess ((eessppeecciiaallllyy iinn WWiinn3322 AAPPII)) EExxaammpplleess:: NNaavviiggaattee aanndd NNaavviiggaattee22 mmeetthhooddss iinn IInntteerrnneett EExxpplloorreerr AAccttiivveeXX ccoonnttrrooll ((MMSSHHTTMMLL..DDLLLL)) WWNNeettAAddddCCoonnnneeccttiioonn33 mmeetthhoodd iinn MMuullttiippllee PPrroovviiddeerr RRoouutteerr NNeettwwoorrkkiinngg AAPPII ((MMPPRR..DDLLLL)) LLPPWWKKSSTTAA__UUSSEERR__IINNFFOO__11 ssttrruuccttuurree iinn WWiinn3322 DDoonn''tt ffoollllooww tthheemm bblliinnddllyy,, jjuusstt tthhiinnkk aa bbiitt!! 45
46.
WWhhaatt''ss WWrroonngg wwiitthh
TThhiiss CCooddee?? 46 FFiilleeSSttrreeaamm ffss == nneeww FFiilleeSSttrreeaamm((FFIILLEE__NNAAMMEE,, FFiilleeMMooddee..CCrreeaatteeNNeeww));; //// CCrreeaattee tthhee wwrriitteerr ffoorr ddaattaa.. BBiinnaarryyWWrriitteerr ww == nneeww BBiinnaarryyWWrriitteerr((ffss));; //// WWrriittee ddaattaa ttoo TTeesstt..ddaattaa.. ffoorr ((iinntt ii == 00;; ii << 1111;; ii++++)) {{ ww..WWrriittee(( ((iinntt)) ii));; }} ww..CClloossee(());; ffss..CClloossee(());; //// CCrreeaattee tthhee rreeaaddeerr ffoorr ddaattaa.. ffss == nneeww FFiilleeSSttrreeaamm((FFIILLEE__NNAAMMEE,, FFiilleeMMooddee..OOppeenn,, FFiilleeAAcccceessss..RReeaadd));; BBiinnaarryyRReeaaddeerr rr == nneeww BBiinnaarryyRReeaaddeerr((ffss));; //// RReeaadd ddaattaa ffrroomm TTeesstt..ddaattaa.. ffoorr ((iinntt ii == 00;; ii << 1111;; ii++++)) {{ CCoonnssoollee..WWrriitteeLLiinnee((rr..RReeaaddIInntt3322(())));; }} rr..CClloossee(());; ffss..CClloossee(());; Source: http://msdn.microsoft.com/en-us/library/36b93480.aspx
47.
CCooddee FFoorrmmaattttiinngg
48.
WWhhyy CCooddee NNeeeeddss
FFoorrmmaattttiinngg?? 48 ppuubblliicc ccoonnsstt ssttrriinngg FFIILLEE__NNAAMMEE ==""eexxaammppllee..bbiinn"" ;; ssttaattiicc vvooiidd MMaaiinn (( )){{ FFiilleeSSttrreeaamm ffss== nneeww FFiilleeSSttrreeaamm((FFIILLEE__NNAAMMEE,,FFiilleeMMooddee .. CCrreeaatteeNNeeww)) //// CCrreeaattee tthhee wwrriitteerr ffoorr ddaattaa .. ;;BBiinnaarryyWWrriitteerr ww==nneeww BBiinnaarryyWWrriitteerr (( ffss ));;//// WWrriittee ddaattaa ttoo TTeesstt..ddaattaa.. ffoorr(( iinntt ii==00;;ii<<1111;;ii++++)){{ww..WWrriittee((((iinntt))ii));;}}ww ..CClloossee(());; ffss .. CClloossee (( )) //// CCrreeaattee tthhee rreeaaddeerr ffoorr ddaattaa.. ;;ffss==nneeww FFiilleeSSttrreeaamm((FFIILLEE__NNAAMMEE,,FFiilleeMMooddee.. OOppeenn ,, FFiilleeAAcccceessss..RReeaadd)) ;;BBiinnaarryyRReeaaddeerr rr == nneeww BBiinnaarryyRReeaaddeerr((ffss));; //// RReeaadd ddaattaa ffrroomm TTeesstt..ddaattaa.. ffoorr ((iinntt ii == 00;; ii << 1111;; ii++++)){{ CCoonnssoollee ..WWrriitteeLLiinnee ((rr..RReeaaddIInntt3322 (()))) ;;}}rr .. CClloossee (( ));; ffss .. CClloossee (( )) ;; }}
49.
CCooddee FFoorrmmaattttiinngg FFuunnddaammeennttaallss
GGoooodd ffoorrmmaattttiinngg ggooaallss TToo iimmpprroovvee ccooddee rreeaaddaabbiilliittyy TToo iimmpprroovvee ccooddee mmaaiinnttaaiinnaabbiilliittyy FFuunnddaammeennttaall pprriinncciippllee ooff ccooddee ffoorrmmaattttiinngg:: AAnnyy ffoorrmmaattttiinngg ssttyyllee tthhaatt ffoolllloowwss tthhee aabboovvee pprriinncciippllee iiss ggoooodd AAnnyy ootthheerr ffoorrmmaattttiinngg iiss nnoott ggoooodd 49 TThhee ffoorrmmaattiinngg ooff tthhee ssoouurrccee ccooddee sshhoouulldd ddiisscclloossee iittss llooggiiccaall ssttrruuccttuurree..
50.
FFoorrmmaattttiinngg BBlloocckkss iinn
CC## PPuutt {{ aanndd }} aalloonnee oonn aa lliinnee uunnddeerr tthhee ccoorrrreessppoonnddiinngg ppaarreenntt bblloocckk IInnddeenntt tthhee bblloocckk ccoonntteennttss bbyy aa ssiinnggllee [[TTaabb]] DDoonn''tt iinnddeenntt wwiitthh ssppaacceess EExxaammppllee:: 50 iiff (( ssoommee ccoonnddiittiioonn )) {{ //// BBlloocckk ccoonntteennttss iinnddeenntteedd bbyy aa ssiinnggllee [[TTaabb]] //// DDoonn''tt uussee ssppaacceess ffoorr iinnddeennttaattiioonn }}
51.
MMeetthhooddss IInnddeennttaattiioonn MMeetthhooddss
sshhoouulldd bbee iinnddeenntteedd wwiitthh aa ssiinnggllee [[TTaabb]] ffrroomm tthhee ccllaassss bbooddyy MMeetthhooddss bbooddyy sshhoouulldd bbee iinnddeenntteedd wwiitthh aa ssiinnggllee [[TTaabb]] aass wweellll 51 ppuubblliicc ccllaassss IInnddeennttaattiioonnEExxaammppllee {{ pprriivvaattee iinntt ZZeerroo(()) {{ rreettuurrnn 00;; }} }} TThhee eennttiirree mmeetthhoodd iiss iinnddeenntteedd wwiitthh aa ssiinnggllee [[TTaabb]] MMeetthhoodd bbooddyy iiss aallssoo iinnddeenntteedd
52.
Brackets iinn MMeetthhooddss
DDeeccllaarraattiioonn BBrraacckkeettss iinn tthhee mmeetthhoodd ddeeccllaarraattiioonn sshhoouulldd bbee ffoorrmmaatttteedd aass ffoolllloowwss:: DDoonn''tt uussee ssppaacceess bbeettwweeeenn tthhee bbrraacckkeettss:: TThhee ssaammee aapppplliieess ffoorr iiff--ccoonnddiittiioonnss aanndd ffoorr-- llooooppss:: 52 pprriivvaattee ssttaattiicc uulloonngg CCaallccFFaaccttoorriiaall((uuiinntt nnuumm)) pprriivvaattee ssttaattiicc uulloonngg CCaallccFFaaccttoorriiaall (( uuiinntt nnuumm )) pprriivvaattee ssttaattiicc uulloonngg CCaallccFFaaccttoorriiaall ((uuiinntt nnuumm)) iiff ((ccoonnddiittiioonn)) ……
53.
SSeeppaarraattiinngg PPaarraammeetteerrss
SSeeppaarraattee mmeetthhoodd ppaarraammeetteerrss bbyy ccoommmmaa ffoolllloowweedd bbyy aa ssppaaccee DDoonn''tt ppuutt ccoommmmaa bbeeffoorree tthhee ssppaaccee EExxaammpplleess:: RReeggiisstteerrUUsseerr((""nnaakkoovv"",, ""ss33ccrr33tt!!pp@@ssssww00rrdd""));; IInnccoorrrreecctt eexxaammpplleess:: 53 pprriivvaattee vvooiidd RReeggiisstteerrUUsseerr((ssttrriinngg uusseerrnnaammee,, ssttrriinngg ppaasssswwoorrdd)) pprriivvaattee vvooiidd RReeggiisstteerrUUsseerr((ssttrriinngg uusseerrnnaammee,,ssttrriinngg ppaasssswwoorrdd)) pprriivvaattee vvooiidd RReeggiisstteerrUUsseerr((ssttrriinngg uusseerrnnaammee ,,ssttrriinngg ppaasssswwoorrdd)) pprriivvaattee vvooiidd RReeggiisstteerrUUsseerr((ssttrriinngg uusseerrnnaammee ,, ssttrriinngg ppaasssswwoorrdd))
54.
EEmmppttyy LLiinneess bbeettwweeeenn
MMeetthhooddss UUssee eemmppttyy lliinnee ffoorr sseeppaarraattiioonn bbeettwweeeenn mmeetthhooddss:: 54 ppuubblliicc ccllaassss FFaaccttoorriiaall {{ pprriivvaattee ssttaattiicc uulloonngg CCaallccFFaaccttoorriiaall((uuiinntt nnuumm)) {{ AAllwwaayyss uussee {{ aanndd }} aafftteerr iiff ((tthheerree iiss nnoo ssppaaccee ttoo ddoo iitt iiff ((nnuumm ==== 00)) rreettuurrnn 11;; eellssee rreettuurrnn nnuumm ** CCaallccFFaaccttoorriiaall((nnuumm -- 11));; }} EEmmppttyy lliinnee ssttaattiicc vvooiidd MMaaiinn(()) {{ uulloonngg ffaaccttoorriiaall == CCaallccFFaaccttoorriiaall((55));; CCoonnssoollee..WWrriitteeLLiinnee((ffaaccttoorriiaall));; }} }} hheerree))
55.
EEmmppttyy LLiinneess iinn
MMeetthhoodd BBooddyy UUssee aann eemmppttyy lliinnee ttoo sseeppaarraattee llooggiiccaallllyy rreellaatteedd sseeqquueenncceess ooff lliinneess:: 55 pprriivvaattee LLiisstt<<RReeppoorrtt>> PPrreeppaarreeRReeppoorrttss(()) {{ LLiisstt<<RReeppoorrtt>> rreeppoorrttss == nneeww LLiisstt<<RReeppoorrtt>>(());; //// CCrreeaattee iinnccoommeess rreeppoorrttss RReeppoorrtt iinnccoommeessSSaalleessRReeppoorrtt == PPrreeppaarreeIInnccoommeessSSaalleessRReeppoorrtt(());; rreeppoorrttss..AAdddd((iinnccoommeessSSaalleessRReeppoorrtt));; RReeppoorrtt iinnccoommeessSSuuppppoorrttRReeppoorrtt == PPrreeppaarreeIInnccoommeessSSuuppppoorrttRReeppoorrtt(());; rreeppoorrttss..AAdddd((iinnccoommeessSSuuppppoorrttRReeppoorrtt));; //// CCrreeaattee eexxppeennsseess rreeppoorrttss RReeppoorrtt eexxppeennsseessPPaayyrroollllRReeppoorrtt == PPrreeppaarreeEExxppeennsseessPPaayyrroollllRReeppoorrtt(());; rreeppoorrttss..AAdddd((eexxppeennsseessPPaayyrroollllRReeppoorrtt));; RReeppoorrtt eexxppeennsseessMMaarrkkeettiinnggRReeppoorrtt == PPrreeppaarreeEExxppeennsseessMMaarrkkeettiinnggRReeppoorrtt(());; rreeppoorrttss..AAdddd((eexxppeennsseessMMaarrkkeettiinnggRReeppoorrtt));; rreettuurrnn rreeppoorrttss;; }} EEmmppttyy lliinnee EEmmppttyy lliinnee EEmmppttyy lliinnee
56.
MMiissppllaacceedd EEmmppttyy LLiinneess
–– EExxaammppllee 56 ppuubblliicc ssttaattiicc vvooiidd PPrriinnttLLiisstt((LLiisstt<<iinntt>> iinnttss)) {{ CCoonnssoollee..WWrriittee((""{{ ""));; ffoorreeaacchh ((iinntt iitteemm iinn iinnttss)) {{ CCoonnssoollee..WWrriittee((iitteemm));; CCoonnssoollee..WWrriittee(("" ""));; }} CCoonnssoollee..WWrriitteeLLiinnee((""}}""));; }} ssttaattiicc vvooiidd MMaaiinn(()) {{ //// ...... }}
57.
FFoorrmmaattttiinngg TTyyppeess
FFoorrmmaattttiinngg ccllaasssseess // ssttrruuccttuurreess // iinntteerrffaacceess // eennuummeerraattiioonnss IInnddeenntt tthhee ccllaassss bbooddyy wwiitthh aa ssiinnggllee [[TTaabb]] UUssee tthhee ffoolllloowwiinngg oorrddeerr ooff ddeeffiinniittiioonnss:: CCoonnssttaannttss,, ddeelleeggaatteess,, iinnnneerr ttyyppeess,, ffiieellddss,, ccoonnssttrruuccttoorrss,, pprrooppeerrttiieess,, mmeetthhooddss SSttaattiicc mmeemmbbeerrss,, ppuubblliicc mmeemmbbeerrss,, pprrootteecctteedd mmeemmbbeerrss,, iinntteerrnnaall mmeemmbbeerrss,, pprriivvaattee mmeemmbbeerrss TThhee aabboovvee oorrddeerr ooff ddeeffiinniittiioonnss iiss nnoott tthhee oonnllyy ppoossssiibbllee ccoorrrreecctt oonnee 57
58.
FFoorrmmaattttiinngg TTyyppeess ––
EExxaammppllee 58 ppuubblliicc ccllaassss DDoogg {{ //// SSttaattiicc vvaarriiaabblleess ppuubblliicc ccoonnsstt ssttrriinngg SSPPEECCIIEESS == ""CCaanniiss LLuuppuuss FFaammiilliiaarriiss"";; //// IInnssttaannccee vvaarriiaabblleess pprriivvaattee iinntt aaggee;; //// CCoonnssttrruuccttoorrss ppuubblliicc DDoogg((ssttrriinngg nnaammee,, iinntt aaggee)) {{ tthhiiss..NNaammee == nnaammee;; tthhiiss..aaggee == aaggee;; }} (continues on the next slide)
59.
FFoorrmmaattttiinngg TTyyppeess ––
EExxaammppllee ((22)) 59 //// PPrrooppeerrttiieess ppuubblliicc ssttrriinngg NNaammee {{ ggeett;; sseett;; }} //// MMeetthhooddss ppuubblliicc vvooiidd BBrreeaatthh(()) {{ //// TTOODDOO:: bbrreeaatthhiinngg pprroocceessss }} ppuubblliicc vvooiidd BBaarrkk(()) {{ CCoonnssoollee..WWrriitteeLLiinnee((""wwooww--wwooww""));; }} }}
60.
FFoorrmmaattttiinngg CCoonnddiittiioonnaall SSttaatteemmeennttss
aanndd LLooooppss FFoorrmmaattttiinngg ccoonnddiittiioonnaall ssttaatteemmeennttss aanndd llooooppss AAllwwaayyss uussee {{ }} bblloocckk aafftteerr iiff // ffoorr // wwhhiillee,, eevveenn wwhheenn aa ssiinnggllee ooppeerraattoorr ffoolllloowwss IInnddeenntt tthhee bblloocckk bbooddyy aafftteerr iiff // ffoorr // wwhhiillee NNeevveerr ppuutt tthhee bblloocckk aafftteerr iiff // ffoorr // wwhhiillee oonn tthhee ssaammee lliinnee!! AAllwwaayyss ppuutt tthhee {{ oonn tthhee nneexxtt lliinnee NNeevveerr iinnddeenntt wwiitthh mmoorree tthhaann oonnee [[TTaabb]] 60
61.
CCoonnddiittiioonnaall SSttaatteemmeennttss aanndd
LLooooppss FFoorrmmaattttiinngg –– EExxaammpplleess EExxaammppllee:: IInnccoorrrreecctt eexxaammpplleess:: 61 ffoorr ((iinntt ii==00;; ii<<1100;; ii++++)) {{ CCoonnssoollee..WWrriitteeLLiinnee((""ii=={{00}}"",, ii));; }} ffoorr ((iinntt ii==00;; ii<<1100;; ii++++)) CCoonnssoollee..WWrriitteeLLiinnee((""ii=={{00}}"",, ii));; ffoorr ((iinntt ii==00;; ii<<1100;; ii++++)) CCoonnssoollee..WWrriitteeLLiinnee((""ii=={{00}}"",, ii));; ffoorr ((iinntt ii==00;; ii<<1100;; ii++++)) {{ CCoonnssoollee..WWrriitteeLLiinnee((""ii=={{00}}"",, ii));; }}
62.
BBrreeaakkiinngg LLoonngg LLiinneess
BBrreeaakk lloonngg lliinneess aafftteerr ppuunnccttuuaattiioonn IInnddeenntt tthhee sseeccoonndd lliinnee bbyy ssiinnggllee [[TTaabb]] DDoo nnoott aaddddiittiioonnaallllyy iinnddeenntt tthhee tthhiirrdd lliinnee EExxaammpplleess:: 62 iiff ((mmaattrriixx[[xx,, yy]] ==== 00 |||| mmaattrriixx[[xx--11,, yy]] ==== 00 |||| mmaattrriixx[[xx++11,, yy]] ==== 00 |||| mmaattrriixx[[xx,, yy--11]] ==== 00 |||| mmaattrriixx[[xx,, yy++11]] ==== 00)) {{ …… DDiiccttiioonnaarryyEEnnttrryy<<KK,, VV>> nneewwEEnnttrryy == nneeww DDiiccttiioonnaarryyEEnnttrryy<<KK,, VV>>(( oollddEEnnttrryy..KKeeyy,, oollddEEnnttrryy..VVaalluuee));;
63.
IInnccoorrrreecctt WWaayyss TToo
BBrreeaakk LLoonngg LLiinneess 63 iiff ((mmaattrriixx[[xx,, yy]] ==== 00 |||| mmaattrriixx[[xx--11,, yy]] ==== 00 |||| mmaattrriixx[[xx++11,, yy]] ==== 00 |||| mmaattrriixx[[xx,, yy--11]] ==== 00 |||| mmaattrriixx[[xx,, yy++11]] ==== 00)) {{ …… iiff ((mmaattrriixx[[xx,, yy]] ==== 00 |||| mmaattrriixx[[xx--11,, yy]] ==== 00 |||| mmaattrriixx[[xx++11,, yy]] ==== 00 |||| mmaattrriixx[[xx,, yy--11]] ==== 00 |||| mmaattrriixx[[xx,, yy++11]] ==== 00)) {{ …… DDiiccttiioonnaarryyEEnnttrryy<<KK,, VV>> nneewwEEnnttrryy == nneeww DDiiccttiioonnaarryyEEnnttrryy<<KK,, VV>>((oollddEEnnttrryy ..KKeeyy,, oollddEEnnttrryy..VVaalluuee));;
64.
AAlliiggnnmmeennttss AAllll ttyyppeess
ooff aalliiggnnmmeennttss aarree ccoonnssiiddeerreedd hhaarrmmffuull AAlliiggnnmmeennttss aarree hhaarrdd--ttoo--mmaaiinnttaaiinn!! IInnccoorrrreecctt eexxaammpplleess:: 64 DDaatteeTTiimmee ddaattee == DDaatteeTTiimmee..NNooww..DDaattee;; iinntt ccoouunntt == 00;; SSttuuddeenntt ssttuuddeenntt == nneeww SSttrruuddeenntt(());; LLiisstt<<SSttuuddeenntt>> ssttuuddeennttss == nneeww LLiisstt<<SSttuuddeenntt>>(());; mmaattrriixx[[xx,, yy]] ==== 00;; mmaattrriixx[[xx ++ 11,, yy ++ 11]] ==== 00;; mmaattrriixx[[22 ** xx ++ yy,, 22 ** yy ++ xx]] ==== 00;; mmaattrriixx[[xx ** yy,, xx ** yy]] ==== 00;;
65.
HHiigghh--QQuuaalliittyy CCllaasssseess HHooww
ttoo DDeessiiggnn HHiigghh--QQuuaalliittyy CCllaasssseess?? AAbbssttrraaccttiioonn,, CCoohheessiioonn aanndd CCoouupplliinngg
66.
High-QQuuaalliittyy CCllaasssseess:: AAbbssttrraaccttiioonn
PPrreesseenntt aa ccoonnssiisstteenntt lleevveell ooff aabbssttrraaccttiioonn iinn tthhee ccllaassss ccoonnttrraacctt ((ppuubblliiccllyy vviissiibbllee mmeemmbbeerrss)) WWhhaatt aabbssttrraaccttiioonn tthhee ccllaassss iiss iimmpplleemmeennttiinngg?? DDooeess iitt rreepprreesseenntt oonnllyy oonnee tthhiinngg?? DDooeess tthhee ccllaassss nnaammee wweellll ddeessccrriibbee iittss ppuurrppoossee?? DDooeess tthhee ccllaassss ddeeffiinnee cclleeaarr aanndd eeaassyy ttoo uunnddeerrssttaanndd ppuubblliicc iinntteerrffaaccee?? DDooeess tthhee ccllaassss hhiiddee aallll iittss iimmpplleemmeennttaattiioonn ddeettaaiillss?? 66
67.
GGoooodd AAbbssttrraaccttiioonn ––
EExxaammppllee 67 ppuubblliicc ccllaassss FFoonntt {{ ppuubblliicc ssttrriinngg NNaammee {{ ggeett;; sseett;; }} ppuubblliicc ffllooaatt SSiizzeeIInnPPooiinnttss {{ ggeett;; sseett;; }} ppuubblliicc FFoonnttSSttyyllee SSttyyllee {{ ggeett;; sseett;; }} ppuubblliicc FFoonntt((ssttrriinngg nnaammee,, ffllooaatt ssiizzeeIInnPPooiinnttss,, FFoonnttSSttyyllee ssttyyllee)) {{ tthhiiss..NNaammee == nnaammee;; tthhiiss..SSiizzeeIInnPPooiinnttss == ssiizzeeIInnPPooiinnttss;; tthhiiss..SSttyyllee == ssttyyllee;; }} ppuubblliicc vvooiidd DDrraawwSSttrriinngg((DDrraawwiinnggSSuurrffaaccee ssuurrffaaccee,, ssttrriinngg ssttrr,, iinntt xx,, iinntt yy)) {{ ...... }} ppuubblliicc SSiizzee MMeeaassuurreeSSttrriinngg((ssttrriinngg ssttrr)) {{ ...... }} }}
68.
BBaadd AAbbssttrraaccttiioonn ––
EExxaammppllee 68 ppuubblliicc ccllaassss PPrrooggrraamm {{ ppuubblliicc ssttrriinngg ttiittllee;; ppuubblliicc iinntt ssiizzee;; ppuubblliicc CCoolloorr ccoolloorr;; ppuubblliicc vvooiidd IInniittiiaalliizzeeCCoommmmaannddSSttaacckk(());; ppuubblliicc vvooiidd PPuusshhCCoommmmaanndd((CCoommmmaanndd ccoommmmaanndd));; ppuubblliicc CCoommmmaanndd PPooppCCoommmmaanndd(());; ppuubblliicc vvooiidd SShhuuttddoowwnnCCoommmmaannddSSttaacckk(());; ppuubblliicc vvooiidd IInniittiiaalliizzeeRReeppoorrttFFoorrmmaattttiinngg(());; ppuubblliicc vvooiidd FFoorrmmaattRReeppoorrtt((RReeppoorrtt rreeppoorrtt));; ppuubblliicc vvooiidd PPrriinnttRReeppoorrtt((RReeppoorrtt rreeppoorrtt));; ppuubblliicc vvooiidd IInniittiiaalliizzeeGGlloobbaallDDaattaa(());; ppuubblliicc vvooiidd SShhuuttddoowwnnGGlloobbaallDDaattaa(());; }} DDooeess tthhiiss ccllaassss rreeaallllyy rreepprreesseenntt aa ""pprrooggrraamm""?? IIss tthhiiss nnaammee ggoooodd?? DDooeess tthhiiss ccllaassss rreeaallllyy hhaavvee aa ssiinnggllee ppuurrppoossee??
69.
EEssttaabblliisshhiinngg GGoooodd AAbbssttrraaccttiioonn
DDeeffiinnee ooppeerraattiioonnss aalloonngg wwiitthh tthheeiirr ooppppoossiitteess EExxaammppllee:: OOppeenn(()) aanndd CClloossee(()) MMoovvee uunnrreellaatteedd mmeetthhooddss iinn aannootthheerr ccllaassss EExxaammppllee:: IInn ccllaassss EEmmppllooyyeeee iiff yyoouu nneeeedd ttoo ccaallccuullaattee AAggee bbyy ggiivveenn DDaatteeOOffBBiirrtthh CCrreeaattee ssttaattiicc mmeetthhoodd CCaallccAAggee iinn aa sseeppaarraattee ccllaassss DDaatteeUUttiillss 69
70.
EEssttaabblliisshhiinngg GGoooodd AAbbssttrraaccttiioonn
((22)) BBeewwaarree ooff bbrreeaakkiinngg tthhee iinntteerrffaaccee aabbssttrraaccttiioonn dduuee ttoo eevvoolluuttiioonn DDoonn''tt aadddd ppuubblliicc mmeemmbbeerrss iinnccoonnssiisstteenntt wwiitthh ccllaassss aabbssttrraaccttiioonn EExxaammppllee:: iinn ccllaassss ccaalllleedd EEmmppllooyyeeee aatt ssoommee ttiimmee wwee aadddd mmeetthhoodd ffoorr aacccceessssiinngg tthhee DDBB wwiitthh SSQQLL 70 ccllaassss EEmmppllooyyeeee {{ ppuubblliicc ssttrriinngg ffiirrssttNNaammee;; ppuubblliicc ssttrriinngg llaassttNNaammee;; …… ppuubblliicc SSqqllCCoommmmaanndd FFiinnddBByyPPrriimmaarryyKKeeyySSqqllCCoommmmaanndd((iinntt iidd));; }}
71.
EEnnccaappssuullaattiioonn MMiinniimmiizzee tthhee
vviissiibbiilliittyy ooff ccllaasssseess aanndd mmeemmbbeerrss SSttaarrtt ffrroomm pprriivvaattee aanndd mmoovvee ttoo iinntteerrnnaall,, pprrootteecctteedd aanndd ppuubblliicc iiff rreeqquuiirreedd CCllaasssseess sshhoouulldd hhiiddee tthheeiirr iimmpplleemmeennttaattiioonn ddeettaaiillss AAnnyytthhiinngg wwhhiicchh iiss nnoott ppaarrtt ooff tthhee ccllaassss iinntteerrffaaccee sshhoouulldd bbee ddeeccllaarreedd pprriivvaattee CCllaasssseess wwiitthh ggoooodd eennccaappssuullaatteedd ccllaasssseess aarree:: lleessss ccoommpplleexx,, eeaassiieerr ttoo mmaaiinnttaaiinn,, mmoorree lloooosseellyy ccoouupplleedd NNeevveerr ddeeccllaarree ffiieellddss ppuubblliicc ((eexxcceepptt ccoonnssttaannttss)) UUssee mmeetthhooddss oorr pprrooppeerrttiieess ttoo aacccceessss ffiieellddss 71
72.
EEnnccaappssuullaattiioonn ((22)) DDoonn''tt
vviioollaattee eennccaappssuullaattiioonn sseemmaannttiiccaallllyy!! DDoonn''tt rreellyy oonn nnoonn--ddooccuummeenntteedd iinntteerrnnaall bbeehhaavviioorr oorr ssiiddee eeffffeeccttss WWrroonngg eexxaammppllee:: SSkkiipp ccaalllliinngg CCoonnnneeccttTTooDDBB(()) bbeeccaauussee yyoouu jjuusstt ccaalllleedd FFiinnddEEmmppllooyyeeeeBByyIIdd(()) wwhhiicchh sshhoouulldd ooppeenn ccoonnnneeccttiioonn AAnnootthheerr wwrroonngg eexxaammppllee:: UUssee SSttrriinngg..EEmmppttyy iinnsstteeaadd ooff TTiittlleess..NNooTTiittllee bbeeccaauussee yyoouu kknnooww bbootthh vvaalluueess aarree tthhee ssaammee 72
73.
IInnhheerriittaannccee DDoonn''tt hhiiddee
mmeetthhooddss iinn aa ssuubbccllaassss EExxaammppllee:: iiff tthhee ccllaassss TTiimmeerr hhaass pprriivvaattee mmeetthhoodd SSttaarrtt(()),, ddoonn''tt ddeeffiinnee SSttaarrtt(()) iinn AAttoommTTiimmeerr MMoovvee ccoommmmoonn iinntteerrffaacceess,, ddaattaa,, aanndd bbeehhaavviioorr aass hhiigghh aass ppoossssiibbllee iinn tthhee iinnhheerriittaannccee ttrreeee TThhiiss mmaaxxiimmiizzeess tthhee ccooddee rreeuussee BBee ssuussppiicciioouuss ooff bbaassee ccllaasssseess ooff wwhhiicchh tthheerree iiss oonnllyy oonnee ddeerriivveedd ccllaassss DDoo yyoouu rreeaallllyy nneeeedd tthhiiss aaddddiittiioonnaall lleevveell ooff iinnhheerriittaannccee?? 73
74.
IInnhheerriittaannccee ((22))
BBee ssuussppiicciioouuss ooff ccllaasssseess tthhaatt oovveerrrriiddee aa rroouuttiinnee aanndd ddoo nnootthhiinngg iinnssiiddee IIss tthhee oovveerrrriiddddeenn rroouuttiinnee uusseedd ccoorrrreeccttllyy?? AAvvooiidd ddeeeepp iinnhheerriittaannccee ttrreeeess DDoonn''tt ccrreeaattee mmoorree tthhaann 6 lleevveellss ooff iinnhheerriittaannccee AAvvooiidd uussiinngg aa bbaassee ccllaassss’’ss pprrootteecctteedd ddaattaa ffiieellddss iinn aa ddeerriivveedd ccllaassss PPrroovviiddee pprrootteecctteedd aacccceessssoorr mmeetthhooddss oorr pprrooppeerrttiieess iinnsstteeaadd 74
75.
IInnhheerriittaannccee ((33))
PPrreeffeerr iinnhheerriittaannccee ttoo eexxtteennssiivvee ttyyppee cchheecckkiinngg:: CCoonnssiiddeerr iinnhheerriittiinngg CCiirrccllee aanndd SSqquuaarree ffrroomm SShhaappee aanndd oovveerrrriiddee tthhee aabbssttrraacctt aaccttiioonn DDrraaww(()) 75 sswwiittcchh ((sshhaappee..TTyyppee)) {{ ccaassee SShhaappee..CCiirrccllee:: sshhaappee..DDrraawwCCiirrccllee(());; bbrreeaakk;; ccaassee SShhaappee..SSqquuaarree:: sshhaappee..DDrraawwSSqquuaarree(());; bbrreeaakk;; ...... }}
76.
CCllaassss MMeetthhooddss aanndd
DDaattaa KKeeeepp tthhee nnuummbbeerr ooff mmeetthhooddss iinn aa ccllaassss aass ssmmaallll aass ppoossssiibbllee rreedduuccee ccoommpplleexxiittyy MMiinniimmiizzee ddiirreecctt mmeetthhoodd ccaallllss ttoo ootthheerr ccllaasssseess MMiinniimmiizzee iinnddiirreecctt mmeetthhoodd ccaallllss ttoo ootthheerr ccllaasssseess LLeessss eexxtteerrnnaall mmeetthhoodd ccaallllss ==== lleessss ccoouupplliinngg MMiinniimmiizzee tthhee eexxtteenntt ttoo wwhhiicchh aa ccllaassss ccoollllaabboorraatteess wwiitthh ootthheerr ccllaasssseess RReedduuccee ccoouupplliinngg bbeettwweeeenn ccllaasssseess 76
77.
CCllaassss CCoonnssttrruuccttoorrss
IInniittiiaalliizzee aallll mmeemmbbeerr ddaattaa iinn aallll ccoonnssttrruuccttoorrss,, iiff ppoossssiibbllee UUnniinniittiiaalliizzeedd ddaattaa iiss eerrrroorr pprroonnee PPaarrttiiaallllyy iinniittiiaalliizzeedd ddaattaa iiss eevveenn mmoorree eevviill IInnccoorrrreecctt eexxaammppllee:: aassssiiggnn FFiirrssttNNaammee iinn ccllaassss PPeerrssoonn bbuutt lleeaavvee LLaassttNNaammee eemmppttyy IInniittiiaalliizzee ddaattaa mmeemmbbeerrss iinn tthhee ssaammee oorrddeerr iinn wwhhiicchh tthheeyy aarree ddeeccllaarreedd PPrreeffeerr ddeeeepp ccooppiieess ttoo sshhaallllooww ccooppiieess ((IICClloonneeaabbllee sshhoouulldd mmaakkee ddeeeepp ccooppyy)) 77
78.
UUssee DDeessiiggnn PPaatttteerrnnss
UUssee pprriivvaattee ccoonnssttrruuccttoorr ttoo pprroohhiibbiitt ddiirreecctt ccllaassss iinnssttaannttiiaattiioonn UUssee ddeeiiggnn ppaatttteerrnnss ffoorr ccoommmmoonn ddeessiiggnn ssiittuuaattiioonnss CCrreeaattiioonnaall ppaatttteerrnnss lliikkee ssiinngglleettoonn,, ffaaccttoorryy mmeetthhoodd,, aabbssttrraacctt ffaaccttoorryy SSttrruuccttuurraall ppaatttteerrnnss lliikkee aaddaapptteerr,, bbrriiddggee,, ccoommppoossiittee,, ddeeccoorraattoorr,, ffaaççaaddee BBeehhaavviioorraall ppaatttteerrnnss lliikkee ccoommmmaanndd,, iitteerraattoorr,, oobbsseerrvveerr,, ssttrraatteeggyy,, tteemmppllaattee mmeetthhoodd 78
79.
TToopp RReeaassoonnss ttoo
CCrreeaattee CCllaassss MMooddeell rreeaall--wwoorrlldd oobbjjeeccttss wwiitthh OOOOPP ccllaasssseess MMooddeell aabbssttrraacctt oobbjjeeccttss,, pprroocceesssseess,, eettcc.. RReedduuccee ccoommpplleexxiittyy WWoorrkk aatt hhiigghheerr lleevveell IIssoollaattee ccoommpplleexxiittyy HHiiddee iitt iinn aa ccllaassss HHiiddee iimmpplleemmeennttaattiioonn ddeettaaiillss eennccaappssuullaattiioonn LLiimmiitt eeffffeeccttss ooff cchhaannggeess CChhaannggeess aaffffeecctt oonnllyy tthheeiirr ccllaassss 79
80.
Top RReeaassoonnss ttoo
CCrreeaattee CCllaassss ((22)) HHiiddee gglloobbaall ddaattaa WWoorrkk tthhrroouugghh mmeetthhooddss GGrroouupp vvaarriiaabblleess tthhaatt aarree uusseedd ttooggeetthheerr MMaakkee cceennttrraall ppooiinnttss ooff ccoonnttrrooll SSiinnggllee ttaasskk sshhoouulldd bbee ddoonnee aatt ssiinnggllee ppllaaccee AAvvooiidd dduupplliiccaattiinngg ccooddee FFaacciilliittaattee ccooddee rreeuussee UUssee ccllaassss hhiieerraarrcchhiieess aanndd vviirrttuuaall mmeetthhooddss PPaacckkaaggee rreellaatteedd ooppeerraattiioonnss ttooggeetthheerr 80
81.
NNaammeessppaacceess GGrroouupp rreellaatteedd
ccllaasssseess ttooggeetthheerr iinn nnaammeessppaacceess FFoollllooww ccoonnssiisstteenntt nnaammiinngg ccoonnvveennttiioonn 81 nnaammeessppaaccee UUttiillss {{ ccllaassss MMaatthhUUttiillss {{ …… }} ccllaassss SSttrriinnggUUttiillss {{ …… }} ccllaassss DDaatteeUUttiillss {{ …… }} }} nnaammeessppaaccee DDaattaaAAcccceessssLLaayyeerr {{ ccllaassss GGeenneerriiccDDAAOO<<KKeeyy,, EEnnttiittyy>> {{ …… }} ccllaassss EEmmppllooyyeeeeDDAAOO<<iinntt,, EEmmppllooyyeeee>> {{ …… }} ccllaassss AAddddrreessssDDAAOO<<iinntt,, AAddddrreessss>> {{ …… }} }}
82.
CCooddee RReeffoorrmmaattttiinngg aanndd
IIddeennttiiffiieerrss RReeffaaccttoorriinngg LLiivvee DDeemmoo
83.
RReessoouurrcceess TThhee
""HHiigghh--QQuuaalliittyy PPrrooggrraammmmiinngg CCooddee"" ccoouurrssee aatt TTeelleerriikk AAccaaddeemmyy:: hhttttpp::////ccooddeeccoouurrssee..tteelleerriikk..ccoomm TThhee bbiibbllee ooff hhiigghh--qquuaalliittyy ssooffttwwaarree ccoonnssttrruuccttiioonn:: 83 CCooddee CCoommpplleettee,, 22nndd eeddiittiioonn,, SStteevvee MMccCCoonnnneellll,, MMiiccrroossoofftt PPrreessss,, 22000044,, IISSBBNN 007733556119967700,, hhttttpp::////wwwwww..cccc22ee..ccoomm
84.
HHiigghh--QQuuaalliittyy PPrrooggrraammmmiinngg CCooddee
CCoonnssttrruuccttiioonn –– PPaarrtt II QQQQuuuueeeessssttttiiiioooonnnnssss????
85.
EExxeerrcciisseess 11.. YYoouu
aarree ggiivveenn aa ssoouurrccee ccooddee ttrryyiinngg ttoo ssoollvvee tthhee ""GGaammee 1155"" ppuuzzzzllee.. YYoouurr ttaasskk iiss ttoo iimmpprroovvee tthhee ccooddee qquuaalliittyy wwiitthhoouutt cchhaannggiinngg iittss ffuunnccttiioonnaalliittyy ((oonnllyy bbuugg ffiixxeess aarree aalllloowweedd)):: aa)) RReeffoorrmmaatt tthhee ccooddee ffoolllloowwiinngg tthhee gguuiiddeelliinneess ddeeffiinneedd iinn tthhee ""CCooddee FFoorrmmaattttiinngg"" sseeccttiioonn.. bb)) FFoolllloowwiinngg tthhee gguuiiddeelliinneess iinn tthhee ""NNaammiinngg IIddeennttiiffiieerrss"" sseeccttiioonn rreennaammee tthhee iiddeennttiiffiieerrss iinn tthhee pprrooggrraamm:: ssoolluuttiioonn nnaammee,, pprroojjeecctt nnaammee,, ccllaassss nnaammeess,, mmeetthhoodd nnaammeess,, ppaarraammeetteerr nnaammeess,, vvaarriiaabblleess,, eettcc.. cc)) SSpplliitt tthhee ffuunnccttiioonnaalliittyy iinnttoo ccllaasssseess wwiitthh ggoooodd aabbssttrraaccttiioonn aanndd ssttrroonngg ccoohheessiioonn.. 85
Download now