[Alg] Wanneer stop je met copy & pasten?

Pagina: 1
Acties:

  • kmf
  • Registratie: November 2000
  • Niet online
De afgelopen maanden heb ik zeer veel geprogrammeerd in PHP, ik merk dat mijn kunsten daarmee de afgelopen week flink zijn gevorderd.
Een module waar ik een maand geleden twee drie dagen voor nodig had om te maken, heb ik nu binnen drie uur kunnen maken.
Uiteraard omdat ik "zulke functies al eerder had gemaakt" en het maar een kwestie van lijmen van functies in een nieuwe klasse is.

Maar ik vraag me nu af, wanneer stop ik nou met het hergebruik/copy&paste van mijn oude code en kan ik alles zo uittikken? (wat ik nu ook wel kan, alleen duurt het even)

En is dit eigenlijk wel een goede praktijk, zo oude code gebruiken. Hierdoor kan ik snel dingen opleveren, vooral omdat ik tijdens het coderen/aanpassen van code, voldoende tijd heb om na te denken wat de volgende stap moet zijn.
Ga ik alles zelf weer uittikken, dan merk ik dat ik weer op zoveel dingen moet letten dat het werk veel langzamer gaat, maar ik "leer" het programmeren wel beter.

Dus advies van jullie? Gewoon lekker doorgaan met hergebruik, of toch maar even Prog-From-Scratch doen (wat ik wel doe als ik iets voor mezelf maak)?

One thing's certain: the iPad seriously increases toilet time.. tibber uitnodigingscode: bqufpqmp


  • bigfoot1942
  • Registratie: Juni 2003
  • Niet online
Hergebruik.

in principe is dit juist met software erg belangrijk en gemakkelijk en valt er veel tijd mee te besparen. Herbruikbaarheid van code is ook een kwaliteitsattribuut waar in het bedrijfsleven veel waarde aan gehecht wordt.
ergo: des te herbruikbaarder je code des te beter.

[ Voor 76% gewijzigd door bigfoot1942 op 08-10-2004 01:40 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

De kunst is natuurlijk om niet functies te hergebruiken, maar waar mogelijk hele classes. Maar hoe dan ook is hergebruik IMHO niet slecht. Als iets goed werkt, en je weet geen verbeteringen meer toe te passen, waarom zou je het dan opnieuw schrijven? Zoals je zelf al zegt neemt dat eigenlijk alleen tijd in beslag.

Je moet echter wel in de gaten blijven houden of je oude code een beetje met zijn tijd meegaat. Als er bijvoorbeeld later op de rit een lek in PHP blijkt te zitten, waardoor de code is te exploiten voor het opvragen van wachtwoorden van de server (zal wel nooit gebeuren :+), dan moet je daar omheen. Of een minder extreem voorbeeld: er komt een nieuwe versie van PHP uit, waar een functie ingebakken zit, die je eerder al voor jezelf gemaakt had. Die hoef je dan i.v.m. performance niet meer te gebruiken.

Maak dus aparte units/libraries/includes of hoe je ze ook wil noemen voor PHP, en hou deze up to date bij elk nieuw project. Zorg ook dat de zooi blijft werken in je oude sites, zodat je vernieuwde includes altijd opnieuw kan uploaden.

My 2 cents. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • kmf
  • Registratie: November 2000
  • Niet online
bigfoot1942 schreef op 08 oktober 2004 @ 01:39:
Hergebruik.

in principe is dit juist met software erg belangrijk en gemakkelijk en valt er veel tijd mee te besparen. Herbruikbaarheid van code is ook een kwaliteitsattribuut waar in het bedrijfsleven veel waarde aan gehecht wordt.
ergo: des te herbruikbaarder je code des te beter.
Maar de vraag is dan of je niet snel de "hang of it" verliest en als iemand je vraagt om dit probleempje op te lossen, je antwoord "dat moet ik even opzoeken"..
NMe84 schreef op 08 oktober 2004 @ 01:46:
De kunst is natuurlijk om niet functies te hergebruiken, maar waar mogelijk hele classes. Maar hoe dan ook is hergebruik IMHO niet slecht. Als iets goed werkt, en je weet geen verbeteringen meer toe te passen, waarom zou je het dan opnieuw schrijven? Zoals je zelf al zegt neemt dat eigenlijk alleen tijd in beslag.

Je moet echter wel in de gaten blijven houden of je oude code een beetje met zijn tijd meegaat. Als er bijvoorbeeld later op de rit een lek in PHP blijkt te zitten, waardoor de code is te exploiten voor het opvragen van wachtwoorden van de server (zal wel nooit gebeuren :+), dan moet je daar omheen. Of een minder extreem voorbeeld: er komt een nieuwe versie van PHP uit, waar een functie ingebakken zit, die je eerder al voor jezelf gemaakt had. Die hoef je dan i.v.m. performance niet meer te gebruiken.

Maak dus aparte units/libraries/includes of hoe je ze ook wil noemen voor PHP, en hou deze up to date bij elk nieuw project. Zorg ook dat de zooi blijft werken in je oude sites, zodat je vernieuwde includes altijd opnieuw kan uploaden.

My 2 cents. :)
Ik heb nog geen tijd om al mijn functies te gaan ordenen en in een echte klasse te zetten. Voorlopig heb ik alleen een database klasse :D
De rest zijn losse functies die ik gewoon herschrijf. Ik zal idd een weekendje moeten uittrekken om hier echte klasses voor te maken.

One thing's certain: the iPad seriously increases toilet time.. tibber uitnodigingscode: bqufpqmp


Verwijderd

athlonkmf schreef op 08 oktober 2004 @ 01:56:
[...]


Maar de vraag is dan of je niet snel de "hang of it" verliest en als iemand je vraagt om dit probleempje op te lossen, je antwoord "dat moet ik even opzoeken"..
Dat is nou de kunst van documenteren. Zorg altijd dat je code goed gedocumenteerd is. Wanneer je classes globaal beschrijft in de header; methodes, variabelen, werking etc, dan moet het begrijpen van de code geen problemen opleveren.

Om terug te komen op de vraag: hergebruik is efficienter en beter, mits je er 100% zeker van bent dat je de class opnieuw kan gebruiken.
Toen ik nog veel met PHP werkte had ik de gewoonte om een soort header bestanden te genereren met handige PHP functies en die in een map "lib" te zetten. Zo krijg je een soort package achtig idee gejat van Java.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:09
Mijn ervaring is met PHP dat het heel lastig is om algemene functionaliteit te scheiden van een specifieke implementatie. Dat betekent dat je bijna altijd wel bezig zal blijven met het kopieren van code, die je vervolgens aanpast aan de situatie. Op zich kan dat best aardig werken, maar het betekent wel dat je het effectiefst werkt als je je specialiseert, zodat je steeds dezelfde code kan hergebruiken.

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 22-05 10:56
Ik ben met allen hieboven eens dat hergebruik van code uiterst eficient kan zijn. Echter.. de tijdsspanne die jij noemt denk ik dat het goed kan zijn om bepaalde problemen eens opnieuw op te lossen ipc te copy - pasten. Ik ben absoluut geen 1337 PHP-haxor ofzo, en ik merk dat zelf dat ik bepaalde problemen 4 maanden terug heel anders oploste dan dat ik nu kan. Ik zie bij de oude code vaak dingen die ik nu veel schoner en efficienter kan oplossen omdat ik méér PHP-functies ken en deze beter onder de knie heb. Kortom: als je altijd blijft copy-pasten uit je eigen code kom je nooit veel vooruit qua kennis. Tenzij je vloeiend kunt PHP-en...

Regeren is vooruitschuiven


  • whoami
  • Registratie: December 2000
  • Laatst online: 21-05 23:34
bigfoot1942 schreef op 08 oktober 2004 @ 01:39:
Hergebruik.

in principe is dit juist met software erg belangrijk en gemakkelijk en valt er veel tijd mee te besparen. Herbruikbaarheid van code is ook een kwaliteitsattribuut waar in het bedrijfsleven veel waarde aan gehecht wordt.
ergo: des te herbruikbaarder je code des te beter.
Hergebruik valt bij mij niet onder 'copy - pasten'.
Als je een aantal functies/classes hebt, die je vaak terugziet in je code, waarom maak je die dan niet zo generiek mogelijk, en plaats je ze in een apart project oid, zodat je die dll, module, whatever gewoon aan je nieuwe project kunt 'pluggen'.

https://fgheysels.github.io/


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

In principe is er niet echt een tijdsspanne op te geven wanneer je stopt met copy/pasten.

Je leert gewoon continu weer bij als je aan het coden bent. Je code evolueert...
Zo heb ik bijv. één functions.php die ik al 3 jaar gebruik, een database.class.php die ik al 1.5 jaar gebruik, en inmiddels MySQL én Intrbase support ingeklust heb, uiteraard met opties om het later ook nog uit te breiden naar PostGreSQL ofzo :)

1 tip: begin Z.S.M. met het gebruiken van classes!
In combinatie met PHP 5's __autoload() functie werkt dit namelijk echt briljant...

Stop uploading passwords to Github!

Pagina: 1