Vraag De kwaliteit van code verbeteren?


Dus bij het lezen van deze site lijkt het erop dat de winkel waarin ik werk een heleboel dingen verkeerd doet en sommige dingen goed. Hoe kan ik de code verbeteren waarmee ik werk vanuit mijn collega's? Het enige dat ik kan bedenken is om het goede voorbeeld te geven - gebruik Boost, etc. Nog andere gedachten?


10
2017-10-02 00:32


oorsprong


antwoorden:


Je zult waarschijnlijk beter moeten kijken naar wat het is dat je winkel fout doet en wat ze goed doen. Wat kun je daar eigenlijk veranderen? Wat kun je veranderen aan je eigen werkwijzen die je vaardigheden verbeteren of die van je team?  Het kan moeilijk zijn om veranderingen in een ingegraven winkel te realiseren. Probeer code-beoordelingen voor te stellen (eerst op uw code), wat tot discussie zou kunnen leiden.

Voor tastbare items zou ik kijken Scott Meyers'Effectieve C ++, etc. Ontwikkel je skillset en je zult of anderen helpen om je heen te verbeteren of doorgaan naar een winkel die dat wel zal doen. Kijk ook eens naar de Gang of Four's Ontwerp patronen boek.


3
2017-10-02 00:49



Code-evaluaties zijn de beste manier om de kwaliteit van de code in het algemeen te verbeteren. Herziening van de code van verschillende individuen die elkaar helpen verhoogt het algemene bewustzijn van verschillende technieken en helpt bij het verspreiden van de beste werkwijzen. Een persoon inhuren die meer ervaring heeft dan jij bent, is ook een goed hulpmiddel, maar het is een beetje vervelend om het uit te voeren.


2
2017-10-02 05:43



  • Goede programmeerboeken lezen
  • Leren van andermans code - Open source projecten zijn de beste plaats om te beginnen
  • Lees regelmatig goede blogs en forums - Sutter Mill, Coding Horror, Martin Fowler enz
  • Code beoordelingen
  • Unit tests
  • Goede bibliotheken gebruiken zoals Boost, STL. Ook inzicht in de implementatie ervan

2
2017-10-02 00:35



Het goede voorbeeld geven is altijd goed, maar anderen ervan overtuigen dat je voorbeeld beter is dan dat ze het momenteel doen, is niet zo eenvoudig. Constructieve kritiek door middel van codebeoordeling is waarschijnlijk de beste manier om zachtjes alternatieve benaderingen voor te stellen voor hoe uw collega's werken. Het belangrijkste punt is om anderen ervan te overtuigen dat wat je voorstelt echt beter is op een tastbare manier die ze kunnen waarderen.


0
2017-10-02 00:39



Soms moeten mensen zien dat jouw manier werkt beter dan hun manier. Het is vaak moeilijk om mensen te laten veranderen.

Hebt u overwogen om eenheidstest te schrijven als u dat nog niet doet? Ik heb gemerkt dat het mijn productiecode echt verbetert en me meer vertrouwen geeft dat wat ik schrijf, is wat ik zou moeten schrijven.

Ik hou van Jason's idee over coderevisies. Ze kan nuttig zijn of ze kunnen een reden voor ruzie zijn - hangt er echt van af hoe je de toon zet.


0
2017-10-02 00:42



Andere dingen die u kunt proberen, is toevoegen eenheid  testen en documentatie.


0
2017-10-02 00:44



Hoewel dit waarschijnlijk niet zo direct is als een antwoord, raad ik u aan het boek op te halen Code voltooid. Ik vind het de beste bron om te leren hoe je een betere programmeur kunt zijn. Als je het hele boek doorleest en begrijpt waar het over praat, leer je echt hoe je jezelf en je code kunt verbeteren.


0
2017-10-02 00:39



Ontwerp en ontwerp het project goed, zodat geen van de ontwikkelaars een andere route kan nemen om de kwaliteit te schenden. Als u een geweldig ontwerp instelt, volgen mensen gewoon de route en leren ze automatisch


0
2017-10-02 05:26



Ik vind het schrijven van eenheidstests veel helpt bij het coderen - het betekent dat je moet nadenken over hoe je code zal reageren op de tests en andere delen van de code.

Beoordeling peer-code: als de kwaliteit van de code wordt gecontroleerd, denken de programmeurs ook na over hoe zij de code schrijven.


0
2017-10-02 05:40



Het is geweldig dat je beseft dat er ruimte is voor verbetering en de wens hebt om te proberen wat verandering teweeg te brengen. Ik stel voor om James Shore's te lezen 19-weekendagboek waar hij de stappen documenteert die hij heeft doorlopen om agile ontwikkeling in zijn bedrijf mogelijk te maken. Het is een moeilijk gevecht, maar zijn ervaring laat zien dat je een verschil kunt maken.


0
2017-10-02 13:07