Avatar billede Pressured Nybegynder
13. december 2011 - 23:35 Der er 8 kommentarer og
1 løsning

Pragmatisk programmering

Hej alle.
Jeg er fuldkommen novice til programmering, men har prøvet at lave små apps som laver matematiske udregninger.
Men jeg vil gerne kunne lave et større program ved at sætte en del af at sprogs bibliotek sammen til et større program.

Jeg har faldet over ordet pragmatisk programmering & vil stræbe imod den stil.

Håber der er nogen som kan komme med nogle forslag & tips.
Avatar billede arne_v Ekspert
14. december 2011 - 02:10 #1
Forslag og tips til hvad?
Avatar billede Pressured Nybegynder
15. december 2011 - 12:40 #2
Til at kunne lave et program som ikke bruger så meget cpu, samt delt op så den kan skrives om igen med minimum omskrivning.


Nogle vil måske kalde det for praktisk programmering, dog har jeg aldrig oplevet en "pragmatisk kode", så min viden dækker ikke så meget over dette.
Avatar billede arne_v Ekspert
16. december 2011 - 02:28 #3
Det lyder som om du gerne vil udvikle dig fra at skrive programmer der virker til at skrive gode programmer.

:-)

Desvaerre er det en meget svaer ting at laere. Det kraever erfaring.

Men nogle forslag til relevante boeger:

Code Complete

Effective Java / Effective C++ (alt efter hvilkt sprog du bruger)
Avatar billede Pressured Nybegynder
17. december 2011 - 15:07 #4
Altså jeg har mine egne fingerregler som er:

1. planlæg hvad du skriver før du skriver.

2. Sæt programmets gøremål ind i funktioner(class', void's,
instance method's), så det er muligt at kunne sætte programmet sammen med et andet, eller tilføje til programmet, med så lidt mulig redigering.

3. Sæt programmet konstanter samt variabler som skal bruges igen, ind i en buffer i stedet for at bruge cpu'en til at regne det ud om igen.

4. lav get-metoder som henter ting som ligger i bufferen, fx. hvis en funktion skal være privat.

5. Brug så få argumenter som er muligt.

Men tvivler, håber dog det ikke er i den forkerte retning.
Ellers lærer jeg det nok hen ad vejen.
Avatar billede arne_v Ekspert
17. december 2011 - 20:08 #5
Der skal altsaa lidt mere til.

Proev og faa fat paa en af de naevnte boeger.
Avatar billede Pressured Nybegynder
18. december 2011 - 10:51 #6
Ok, det er var godt at få at vide.

Gerne send svar for tilfredstillegivende resultat :).
Avatar billede arne_v Ekspert
18. december 2011 - 17:48 #7
Med hensyn til #3, saa lige et par klassiske citater:

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil."

"The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet."

"More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason — including blind stupidity."
Avatar billede arne_v Ekspert
18. december 2011 - 17:49 #8
og et svar
Avatar billede Pressured Nybegynder
19. december 2011 - 12:42 #9
Lige lidt tilføjelse til nogle fingerregler som blev skrevet i #4.

det kan være svært at skrive en kode fra bunden af, så den kan læses på en overskuelig måde, især hvis skal nye tilføjelser & opdateringer til.

Altså fx. hvis der skrives et skak spil.
Jeg har prøvet at finde hoved og hale i spillet, hvor man end skulle starte at med at læse koden, så selv min bedstemor kunne følge med.

Derfor skriv koden så man ikke lige pludselig skal løse data der ligger på linje 30, som bruger data fra linje 1200, for at læse data der ligger der, som måske skal læses om igen fordi data fra linje 300 bruger data derfra, derefter tilbage til linje 30.

Jeg har ikke prøvet at skrive megaByte stor kode som skal opdateres igen, men jeg har prøvet at læse et par 100 kB enkelte koder hvor nogle kan man ikke finde hoved og hale, mens andre er det som at læse et digt.

Derfor, vil jeg mene det er godt at skrive, så man bedre og bedre kan forstå det er et skak spil der bliver skrevet, og ikke opskriften på min bedstemors leverpostej.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester