• No results found

I studien används en form av triangulering, datatriangulering, som betyder att ta in infor- mation (intervjuer, enkäter, mätningar) från flera källor och sedan analysera dessa och dra paralleller till vad tidigare forskning säger. Enligt Jick [33] gör triangulering att trovärdig- heten för resultatet i studien ökar samt ger skäl till att det går att lita på de slutsatser som dras för att svara på forskningsfrågorna. Men då samplingsstorlekarna från de olika lärosätena var så pass olika och en underrepresentation av Luleå Tekniska Universitet så måste detta tas hänsyn till och vi måste vara försiktiga med att dra generella slutsatser för hela populationen.

Som tidigare nämns i kapitel 3.7 har vi under studiens gång varit väl medvetna om att subjektiva bedömningar av svar kan påverka studiens reliabilitet. Bedömningarna har där- för varit stränga, konsekventa och fria från egna tolkningar i den bemärkelsen att otydliga svar inte har försökt att tolkas där budskapet inte klart framgår i svaret.

6

Slutsats och vidare studier

I detta kapitel kommer slutsatser som besvarar studiens forskningsfrågor att presenteras. Förslag på vidare studier samt forskningsbidrag kommer även att läggas fram.

6.1 Slutsats

Målet med studien var att undersöka hur studenter vid utvalda lärosäten i Sverige förhåller sig till Javas kodkonventioner i avseende på identifierare, kommentarer samt format och struktur, men också om det är möjligt att se skillnader i kodkvalité mellan dessa lärosäten. Resultatet av enkätundersökningen och de statistiska analyserna visade att nollhypote- sen vid 21 av 23 ANOVA-test inte kunde förkastas och att vi därmed kan dra slutsatsen att kodkvalitén inte signifikant skiljer sig mellan de lärosäten som deltog i undersökningen. Av undersökningen framkom också ett samband mellan studenternas syn på hur viktiga de ansåg de olika aspekterna identifierare, kommentering samt format och struktur var och kvalitén på den kod de själva fick modifiera och skriva. Det visade sig att ju viktigare studenterna tyckte en aspekt var desto större kunskap visade de att de verkade ha om den. Studenterna hade överlag svårt att veta vilka kommentarstyper som skall användas vid olika tillfällen men att de istället hade en mycket god uppfattning av hur strukturering av kod för att öka kvalitén skall gå till. Studenterna hade även en god uppfattning av hur namnsättning av identifierare skall gå till enligt Javas kodkonventioner.

Vi kan efter vår undersökning dra slutsatsen att högskoleingenjörsstudenter inom data- teknik vid Malmö Högskola, Kungliga Tekniska Högskola, Luleå Tekniska Universitet och Högskolan i Halmstad generellt har en god uppfattning och förhållning till Javas kodkon- ventioner.

6.2 Förslag på vidare studier

Eftersom denna studie är begränsad till att endast undersöka kodkvalité utifrån tre aspek- ter; identifierare, kommentarer samt format och struktur, och att andra undersökningar av liknande karaktär inte har hittats torde det ge utrymme att undersöka och jämföra andra aspekter t.ex. med avseende på algoritmer eller objektorientering.

Ett förslag på vidare studier skulle även kunna vara att gå till industrin och undersöka om rekryterare medvetet eller omedvetet föredrar att anställa programmerare med ursprung från ett lärosäte med större anseende. En annan intressant aspekt vore att, tillskillnad från denna studie där vi ställer och jämför varje lärosäte som en gemensam grupp mot varandra, också jämför årskurser mot varandra för att undersöka studenternas utveck- ling inom programmering. Förbättras koden i avseende på kvalité ju längre utbildningen fortgår och ju större kunskap och förståelse studenterna erhåller inom andra ämnen på ingenjörsutbildningen?

6.3 Forskningsbidrag

Då det tidigare inte gjorts någon forskning i Sverige inom detta område på denna specifika nivå, har studien bidragit till att få en bild över hur högskoleingenjörsstudenter inom data- teknik förhåller sig till Javas kodkoventioner, samt bevisat att utbildningsnivån inom detta område är jämn för de lärosäten som deltagit i studien. Resultatet av studien kan således vara intressant för både elever och lärare på universitet och högskolor runt om i Sverige, men också för personer som vill börja studera till högskoleingenjör inom datateknik.

Referenser

[1] Wiegers KE. Improving Quality Through Software Inspections [Internet]. Happy Val- ley: Process Impact; [citerad 2016-03-01]. Hämtad från: http://www.processimpact. com/articles/inspects.html.

[2] Inc Sun Microsystems. Code Conventions for the Java Programming Language: Con- tents [Internet]. Redwood City 1999. [citerad 2016-03-02]. Hämtad från: http: //www.oracle.com/technetwork/articles/javase/codeconvtoc-136057.html. [3] Krill P. Avoiding the high cost of bad code. InfoWorld. [Internet] 2009 [ci-

terad 2016-03-15]. Hämtad från: http://www.infoworld.com/article/2675296/

application-development/avoiding-the-high-cost-of-bad-code.html.

[4] Kungliga Tekniska Högskolan. Kursöversikt - Datateknik 180 hp [Internet]. Stock- holm: Kungliga Tekniska Högskolan, Skolan för informations- och kommunikations- teknik; 2015 [citerad 2016-03-17]. Hämtad från: http://www.kth.se/utbildning/ hogskoleingenjor/datateknik-programutveckling/kursoversikt-1.451922. [5] Malmö Högskola. Datateknik och Mobil IT: Högskoleingenjörsutbildning [Internet].

Malmö: Malmö Högskola, Datavetenskap; 2016 [citerad 2016-03-17]. Hämtad från: http://edu.mah.se/sv/Program/THDTA/#Syllabus.

[6] Luleå Tekniska Universitet. Läsordning - Högskoleingenjör Datateknik [Inter- net]. Luleå: Luleå Tekniska Universitet, Institutionen för system- och rymdteknik; 2016 [citerad 2016-04-08]. Hämtad från: http://www.ltu.se/edu/program/TIDAG/ programme-syllabus/study-schedule?termin=H16.

[7] Högskolan i Halmstad. dataingenjör 180 hp [Internet]. Halmstad: Högskolan i

Halmstad, Akademin för informationsteknologi; 2016 [uppdaterad 2016-05-08; citerad

2016-04-08]. Hämtad från: http://www.hh.se/villstudera/ingenjorochteknik/

programgrund/dataingenjor180hp.65438383.html?ptKod=TGDAT16h.

[8] Truong N, Roe P, Bancroft P. Static Analysis of Students’ Java Programs [Internet]. I: Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30. ACE ’04. Darlinghurst, Australia: Australian Computer Society, Inc. 2004. s. 317– 325. Hämtad från: http://dl.acm.org/citation.cfm?id=979968.980011.

[9] Butler S, Wermelinger M, Yu Y, Sharp H. Relating Identifier Naming Flaws and Code Quality: An Empirical Study. I: Reverse Engineering, 2009. WCRE’09. 16th Working Conference on. IEEE 2009. s. 31–35.

[10] Martin RC. Clean Code: A Handbook of Agile Software Craftsmanship. 1st ed. Upper Saddle River, NJ, USA: Prentice Hall PTR 2008.

[11] Swartz F. Java: Readability [Internet]. 2005 [citerad 2016-03-10]. Häm-

tad från: http://perso.ensta-paristech.fr/~diam/java/online/notes-java/

principles_and_practices/style/readability.html.

[12] Easterbrook S, Singer J, Storey MA, Damian D. Selecting Empirical Methods for Software Engineering Research. I: Shull F, Singer J, Sjøberg DIK, editors. Guide to Advanced Empirical Software Engineering. London: Springer London 2008. s. 285–311. Hämtad från: http://dx.doi.org/10.1007/978-1-84800-044-5_11.

[13] Bryman A. Samhällsvetenskapliga Metoder. 2 rev. uppl. Malmö: Liber; 2011.

[14] SurveyGizmo. Professional Online Survey Software & Form Builder [Internet]. 2016 [citerad 2016-04-08]. http://www.surveygizmo.com/.

[15] Allen IE, Seaman CA. Likert Scales and Data Analyses. Quality Progress. 2007 07;40(7):64–65. Hämtad från: http://search.proquest.com/docview/214764202? accountid=12249.

[16] Matell MS, Jacoby J. Is There an Optimal Number of Alternati-

ves for Likert-Scale Items? 1971 October;31(3):657–674. Hämtad från:

https://www.researchgate.net/publication/232587963_Is_There_an_Optimal_ Number_of_Alternatives_for_Likert-Scale_Items_Study_I.

[17] Universitets-och högskolerådet. Antagning.se - Sök utbildning på alla Sveriges uni- versitet och högskolor [Internet] 2016. [citerad 2016-03-17]. Hämtad från: https: //www.antagning.se/se/start.

[18] Nulty DD. The adequacy of response rates to online and paper surveys: what can be done? Assessment & Evaluation in Higher Education. 2008;33(3):301–314. Hämtad från: http://www.tandfonline.com/doi/abs/10.1080/02602930701293231.

[19] Dessel GV. How to determine population and survey sample size? [Internet].

2013. [citerad 2016-05-05]. Hämtad från: https://www.checkmarket.com/2013/02/ how-to-estimate-your-population-and-survey-sample-size/.

[20] Pallant J. SPSS Survival Manual: A Step by Step Guide to Data Analysis Using SPSS. 4th ed. Maidenhead: McGraw-Hill Education 2010.

[21] Stevens JJ. Post Hoc Tests in ANOVA [Internet]. Oregon; 1999 [citerad 2016-05-03]. Hämtad från: http://pages.uoregon.edu/stevensj/posthoc.pdf.

[22] Aktiesite se. ANOVA-test. [uppdaterad 2013-04-30; citerad 2016-04-07]. Hämtad från: http://www.aktiesite.se/sv-SE/article/anova-test/.

[23] Sundell A. Guide: Envägs variansanalys (ANOVA) [Internet] 2010. [cite-

rad 2016-04-07]. Hämtad från: https://spssakuten.wordpress.com/2010/12/21/ guide-envags-variansanalys-anova/.

[24] Vetenskapsrådet. Forskningsetiska principer inom humanistisk-samhällsvetenskaplig forskning [Internet]. Stockholm: Vetenskapsrådet; 2002 [citerad 2016-05-04]. Hämtad från: http://www.codex.vr.se/texts/HSFR.pdf.

[25] Relf PA. Achieving Software Quality through Source Code Readability [Inter-

net]. Qualcon 2004. Januari, 2004; South Australia [citerad 2016-03-03]. Hämtad

från: https://www.researchgate.net/profile/Phillip_Relf/publication/

238443707_Achieving_Software_Quality_through_Source_Code_Readability/ links/00b7d5347257e84f74000000.pdf?inViewer=0&pdfJsDownload=0&origin= publication_detail.

[26] FindBugs. FindBugs - Find Bugs in Java Programs 2008. Hämtad från: http:// findbugs.sourceforge.net.

[27] Isong B, Dominic E. An Investigation of Software Development Activities among Undergraduate Students: A Case Study. I: Computational Science and Computational Intelligence (CSCI), 2014 International Conference on. vol. 2. IEEE 2014. s. 201–207. [28] Sommerville I. Software Engineering. 9th ed. Harlow, England: Addison-Wesley 2010. [29] Nurvitadhi E, Leung WW, Cook C. Do class comments aid java program understan- ding? I: Frontiers in Education, 2003. FIE 2003 33rd Annual. vol. 1. IEEE 2003. s. T3C–13.

[30] Oman PW, Cook CR. Typographic Style is More Than Cosmetic. Commun ACM. 1990 May;33(5):506–520. Hämtad från: http://doi.acm.org/10.1145/78607.78611. [31] Takang AA, Grubb PA, Macredie RD. The effects of comments and identifier names on program comprehensibility: an experimental investigation [Internet]. J Prog Lang. 1996;4(3):143–167.

[32] Sripada S, Reddy YR, Sureka A. In Support of Peer Code Review and Inspection in an Undergraduate Software Engineering Course. I: Software Engineering Education and Training (CSEET), 2015 IEEE 28th Conference on 2015. s. 3–6.

[33] Jick TD. Mixing qualitative and quantitative methods: Triangulation in action. Ad- ministrative science quarterly. 1979;s. 602–611.

A

Enkäten

A.1 Introduktion

A.2 Del 1

A.4 Del 3

A.5 Del 3 - kodexempel

1 /∗

2 1 . K l i c k a p å knappen " c l o n e " uppe t i l l h ö g e r d i r e k t o v a n f ö r koden . 3 2 . R e d i g e r a koden u t i f r ån e g e t t y c k e och smak .

4 3 . S c r o l l a n e r t i l l " O p t i o n a l P a s t e S e t t i n g s " .

5 4 . Vä l j a n t i n g e n P u b l i c e l l e r U n l i s t e d som P a s t e E x p o s u r e . U n l i s t e d g ö r a t t

b a r a v i kan s e koden . P a s t e Name / T i t l e ä r f r i v i l l i g t .

6 5 . Tryck p å " C r e a t e New P a s t e " .

7 6 . K o p i e r a URL: en och k l i s t r a i n den som s v a r p å f r å ga 2 2 . 8 ∗/

9

10 //ERSÄTT DENNA MENING MED EN KOMMENTAR SOM BESKRIVER KLASSEN ! ! ! 11 public c l a s s B i c y c l e { 12 public i n t c a d e n c e , Gear ; 13 public i n t s p e e d ; 14 15 public B i c y c l e (i n t s t a r t C a d e n c e , i n t s t a r t S p e e d , i n t s t a r t G e a r ) { 16 Gear = s t a r t G e a r ; c a d e n c e = s t a r t C a d e n c e ; 17 s p e e d = s t a r t S p e e d ; 18 } 19

20 public void s e t C a d e n c e (i n t newValue ) { 21 c a d e n c e = newValue ;

22 } public void set_Gear (i n t newValue )

23 {

24 Gear = newValue ;

25 }

26 /∗ T h i s method i n c r e a s e s t h e s p e e d o f t h e b i c y c l e ∗/ 27 public void metodnamn (i n t i n c r e m e n t ) {

28 s p e e d += i n c r e m e n t ;

29 }

30 public void ApplyBrake (i n t d e c r e m e n t ) { 31 s p e e d −= d e c r e m e n t ; } 32 33 } 34 35 36 /∗ C o p y r i g h t ( c ) 2 0 1 4 , O r a c l e America , I n c . 37 A l l r i g h t s r e s e r v e d . ∗/

B

Introduktionsbrev

Hej!

Vi är två ingenjörsstudenter på Malmö Högskola som just nu skriver vårt exjobb. Vi hade uppskattat om ni ville ta er tid att besvara vår enkät som behandlar ingenjörsstudenters syn på kodkvalité. Som belöning för att ni deltar har ni chansen att vinna en ny Raspberry Pi 3. Enkäten är anonym men för vi ska kunna ta kontakt med vinnaren krävs det att ni lämnar en mailadress där vi kan nå er. Denna lämnar ni frivilligt i slutet av enkäten. Enkäten finns att tillgå här: http://www.surveygizmo.com/s3/2625399/Programmering Tack på förhand!

Vänliga Hälsningar, Andrée Christoffer

C

Kursböcker

• Malmö Högskola (MAH):

– Lewis J, DePasquale P, Chase J. Java Foundations. 3 rev. uppl. Upper Saddle River, N.J.: Pearson Education; 2013.

• Kungliga Tekniska Högskolan (KTH):

– Galjic F. Programmeringsprinciper i Java. Lund: Studentlitteratur; 2013. • Högskolan i Halmstad (HH):

– Sedgewick R, Wayne K. Introduction to Programming in Java: An Interdisci- plinary Approach. Boston, Mass.: Addison-Wesley; 2008.

• Luleå Tekniska Universitet (LTU):

– Riley DD. The object of data abstraction and structures using Java. Boston, Mass.: Addison Wesley; 2003.

Related documents