04:44 pm - Coupling and Cohesion
Virsraksts pretenciozs, bet agrāk vai vēlāk šie vārdi būs jānoformulē. Ja ir zināma latviskojumi - dodiet ziņu.
Pagājšnedēļ metu ārā funkcijas no klasēm un objektiem un dzēsu ārā nesaukto, nevajadzīgo un aizmirsto kodu. Šonedēļ rodas jauni faili un klases viens pēc otra. Ņemu lielu failu ar daudzām funkcijām un klasēm un struktūrām (C++) un viskautko un griežu gabaliņos. Zinu, ka puse netiek izmantota, bet kas tieši vēl nezinu.
Vadmotīvi ir divi: Low coupling and High cohesion.
Cohesion is the degree to which the responsibilities of a single component form a meaningful unit.
Coupling applies to any relationship between software components.
A first-order principle of software architecture is to reduce coupling and increase cohesion.
Programmas daļām jābūt ar pēc iespējas mazāku savstarpējo atkarību.
Programmas daļām, kas ir apkopotas grupā, jābūt ar vienotu-saistītu funkcionalitāti.
Zem vārda programmas daļa es domāju - bibliotēku, moduli, namespaci, klasi, struktūru, funkciju, vai blakusesošās koda rindiņas.
Tie ir tādi pamatprincipi no kā izaug slikts vai labs design.
| From: | misame |
Date: | January 27th, 2004 - 05:06 pm |
---|
| | | (Link) |
|
jā.
problēma ir tajā, ka mēģinot dizainēt šajā ziņā pareizu softu, bieži vien tiek uzrakstīta 1/2tonna lieka koda. :(
Hmm.. Tu ar lieku domā valodas sintakses prasīto, lai radītu jaunas struktūras, vai lieku kodu, kuram ir kāda funkcionalitāte.
Lieks kods ir lieks kods. Ja viņš nav lieks, tad viņš ir jānoliek pareizajā vietā. Ato nezincik lieka rodas.
(Piemēram 123 Ascii2Unicode metodes dažādās klasēs)
| From: | misame |
Date: | January 27th, 2004 - 11:42 pm |
---|
| | Re: | (Link) |
|
konkrēti es zinu, ka vienmēr aizraujos ar dabiskuma panākšanu šajos gadījumos
jo mēģinu klases veidot tā, kā tas būtu dabā.
līdz ar to sanāk, ka cenšos panākt, ka objekti būtu integrāli - tādi, kādi tie būtu dabā, ar uzstādītiem tiem atribūtiem, kas ir "obligāti" pēc būtības un tā.
i rezultāts, ka sanāk rakstīt, piemēram, metodes, kas nodrošina šo integritāti.
paldies dievam man nav bijis iespējas rakstīt pašprojektētas ssitēmas nu jau kādu laiku :)))
From: | mulders |
Date: | January 28th, 2004 - 11:26 am |
---|
| | Re: | (Link) |
|
zheel... neaceros kur tieshi, bet bij veskije pretargumenti shai pieejai... tik neaceros kaadi!
laikam probleemas radaas, kad jaasaak opereet ar objektiem kuru dabaa nav! kaut vai tas pats encodings... ij rezultaataa iisti nezini ne tikai kuraa vietaa klasee to ielikt, bet kur pashu klasi iestuukjeet!
| From: | misame |
Date: | January 28th, 2004 - 02:45 pm |
---|
| | Re: | (Link) |
|
problēmas rodas, ja tev vajag, piemēram, uz brīdi uzkonstruēt kaut kādu nepilnīgu objektu un tad ar read() vai kādu tādu metodi ielasīt visus atribūtus... jo tu taču visiem spēkiem cīnies par to, lai objekts tomēr būtu pilnīgs ;)
Akurāt enkodings tieši pitonā stāv string klasē ;-)
"sanāk rakstīt, piemēram, metodes, kas nodrošina šo integritāti"
Tu par seteriem/geteriem runā?
un taa padomaajot! ja ir daudz saiknes starp klaseem, tas veel nenoziimee ka dezains slikts... jamo gan maintainot buus gruuti! bet taada tiiklveida struktuura var buut ahuuni stabila un dinamiska... tik vot taadu uzdezainot ir gruuti!
"maintainot buus gruuti" nav slikts?
Programmas, kuras nevajag uzturēt nav jāraksta ar klasēm:)
From: | grrr |
Date: | January 29th, 2004 - 04:18 pm |
---|
| | 20/20 | (Link) |
|
A vot šo mēs saskaņā ar Newsweek novērtēsim.
| From: | cu |
Date: | February 7th, 2004 - 03:46 pm |
---|
| | cohesion | (Link) |
|
U. Straujums Latvijas Universitaatee saka - koheezija.
| From: | smejmoon |
Date: | February 7th, 2004 - 08:46 pm |
---|
| | Re: cohesion | (Link) |
|
kādā kursā? būs ar viņu jāparunā.