Mente du virkelig dén indrykning? GCC 6 vil advare om kode-bommerter

GCC compileren bliver bedre til at hjælpe med at udrydde nogle af de fejl, der nok kan compiles, men ikke var programmørens hensigt.

Nogle af de sværeste programmeringsfejl at finde og udrydde er dem, der ikke giver nogen fejl, når man compiler sin kode, men programmet opfører sig bare ikke sådan, som man forventede. Den slags fejl er compilerne blevet bedre til at advare om, og det gælder også den kommende udgave af GCC 6, skriver Red Hats Jeff Law i et blogindlæg.

GCC 6 vil blandt andet advare mod indrykningsfejl, hvor man har lavet et linjeskift og indrykning i kildekoden, men det indrykkede indhold fortolkes ikke som noget, der normalt ville være rykket ind. Når man læser kildekoden i gennem kan indrykningen altså misforstås som noget andet end dét, compileren oversætter kildekoden til.

Derfor vil GCC 6 advare, hvis der er indrykning i kildekoden på et sted, hvor koden ikke svarer til noget, der skulle være indrykket. Det kunne skyldes, at man har glemt noget - eller at koden ikke skulle være indrykket, hvilket kan føre til senere misforståelser, når koden skal vedligeholdes.

GCC 6 vil også advare, hvis man gentager en betingelse i en IF - ELSE - IF konstruktion. Det vil sige, at man tjekker for det samme flere gange.

Derudover kommer der en række forbedringer af diagnotikværktøjerne, så man bedre kan finde frem til en problematisk kodestump og få forslag til at løse problemet.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (0)
Log ind eller Opret konto for at kommentere
Pressemeddelelser

Silicom i Søborg har fået stærk vind i sejlene…

Silicom Denmark arbejder med cutting-edge teknologier og er helt fremme hvad angår FPGA teknologien, som har eksisteret i over 20 år.
22. sep 2017

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017

Affecto has the solution and the tools you need

According to GDPR, you are required to be in control of all of your personally identifiable and sensitive data. There are only a few software tools on the market to support this requirement today.
13. sep 2017