Avatar billede iblarsen Praktikant
12. september 2006 - 06:54 Der er 9 kommentarer og
1 løsning

Forklaring på instrument

Er der nogen som kan forklare mig. Hvad der ligger bag ordet:
Instrument i .Net
Avatar billede nielle Nybegynder
12. september 2006 - 08:17 #1
I hvilken sammenhæng er du stødt på ordet?
Avatar billede iblarsen Praktikant
12. september 2006 - 09:29 #2
Flere steder. Ved foredrag bruges ordet flittigt.
Avatar billede nielle Nybegynder
12. september 2006 - 09:41 #3
Foredrag om hvad? Det er ikke et begreb som bruges i C# som sådan.

De steder hvor at jeg kender ordet fra det er i forbindelse med unittest, f.eks. til at beregne sådan noget som code coverage.
Avatar billede iblarsen Praktikant
12. september 2006 - 09:55 #4
Avatar billede nielle Nybegynder
12. september 2006 - 10:21 #5
Der står det omtalt en enkelt gang uden ret meget andet.

At ”instrumentere kode” betyder normalt noget i stil med at man, efter eller samtidig med kompilering, har et andet program som går ind og ændre koden efter nogle specielle regler.

Hvis vi kigger på et lille eksempel på hvad jeg mener fra unittestens verden:

Du starter med at skrive noget kode

class Demo
{
    private int etTal = 21;

    public void EnMetode()
    {
        etTal *= 2;
    }
}

Derefter skriver du noget andet kode som tester denne kode. Hvis du gerne vil vide om du vitterligt har været inde i EnMetode() undervejs i din test, kan du tilføje noget udskrift til en fil:

class Demo
{
    private int etTal = 21;

    public void EnMetode()
    {
        using (StreamWriter sw = new StreamWriter(@"C:\testlog.txt", true))
        {
            sw.WriteLine("Går ind i EnMetode().")
        }

        etTal *= 2;


        using (StreamWriter sw = new StreamWriter(@"C:\testlog.txt", true))
        {
            sw.WriteLine("Forlader EnMetode().")
        }
    }
}

Imidlertid er det ret træls hvis du selv skulle sidde og gøre dette for alle dine metoder. Desuden er det jo kun noget du gør for testens skyld, og det har ingen relevans for programmets funktionalitet som sådan. Derfor bør det heller ikke være med i din endelige kode.

Heldigvis er det muligt at få programmer som enten kan plugges ind i VS, og kan tilføje de ekstra linjer under kompileringen, og hvis man specifikt beder om det. Eller man kan få programmer som kan arbejde med den kompilerede fil og tilføje de ekstra ting.

Dette kaldes for ”instrumentering”.

Det drejer sig altså om at (automatisk) modificere noget kode efter nogle specielle regler. Jeg gætter på at det er det samme princip der er tale om i dit link: Der skrives noget kode, en slags template-klasser, og denne modificeres efterfølgende af de beskrevne framework.
Avatar billede arne_v Ekspert
13. september 2006 - 04:48 #6
http://www.microsoft.com/downloads/details.aspx?FamilyId=80DF04BC-267D-4919-8BB4-1F84B7EB1368&displaylang=en
http://www.codeproject.com/dotnet/EIF.asp
http://www.code-magazine.com/Article.aspx?quickid=0311091

forklarer vist lidt om hvad MS forstår ved ordet

[den application block er forlængst forældet med betydningen af ordet
må være den samme]
Avatar billede arne_v Ekspert
13. september 2006 - 04:50 #7
det overlapper iøvrigt meget med nielles beskrivelse selvom jeg synes at den får
en lille dosis AOP med ind også
Avatar billede iblarsen Praktikant
13. september 2006 - 08:01 #8
Tak til jer begge. Kan I ikke lige smide nogle svar.
Avatar billede nielle Nybegynder
13. september 2006 - 08:19 #9
Svar :^)
Avatar billede arne_v Ekspert
13. september 2006 - 15:49 #10
det må være nielles
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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