Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D.

Lignende præsentationer


Præsentationer af emnet: "Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D."— Præsentationens transcript:

1 Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D

2 BFÅP Utility class (som Math), en samling af statiske felter og metoder Skal ikke initialiseres –Abstract class? Problem: Man kan nedarve og instantiere på den måde Løsning: Lav klassens constructor private // Noninstantiable utility class public class UtilityClass { // Suppress default constructor for noninstantiability private UtilityClass() { throw new AssertionError(); }... // Remainder omitted }

3 BFÅP Brug ikke public felter i public klasser, brug accessor- metoder Mere kontrol over adgangen til klassens felter Public felter kan forsvares hvis de også gøres final, så de ikke kan ændres class Dot { private int a; public Dot(int a) { this.a = a; } //getters public int getDot() { return a; } //setters public void setA(int a) { this.a = a; } }

4 BFÅP Unchecked warnings Ret dem du kan, men ikke alle er lette at rette Bevis at koden er “typesafe”, og brug så @SuppressWarning Bedre end bare at ignorere advarslen: Man kan se hvis der kommer nye warnings public void myMethod { @SuppressWarnings(“unchecked”) ArrayList books = new ArrayList(); } ArrayList books = new ArrayList();

5 BFÅP Item 34: Emulering af udvidelige enums vha. Interfaces –Man kan ikke extende enums i Java, men man kan ”efterligne” effekten ved at bruge interfaces.

6 BFÅP Item 44: Skriv javadoc comments til alle API elementer –Skriv kommentar til klasser, interfaces, konstruktor, metoder, felter osv. Kode uden er umulig økonomisk og tidsmæssigt at vedligeholde!! –Tips: Det første javadoc comment til en klasse,interface, m.m. Indtil der kommer et punktum efterfulgt af komma, tages som opsummering af metoden. –Eks.: /** * Returns the char value at the specified index. An index ranges * from 0 to length() - 1. */

7 BFÅP Item 44: Skriv javadoc comments til alle API elementer –Der er HTML formattering i javadoc comments. Eks.: /** This is a bolded javadoc comment*/ Kan give visse problemer, f.eks. Ikke muligt at skrive HTML metacharacters i koden eksempelvis: –Løsning: brug: 1. {@code}, tagget da den udelader HTML formatering, og giver koden en code font. Eks. The param x must reside in the range: {@code 0 arr.length} 2. {@literal}, tagget da den udelader HTML formatering. Eks.: The param x must fit in the equation: {@literal x+y < y*y} –Foretrukkent at sørge for læsbarhed i både sourcecoden og den generede javadoc. Hvis begge ikke kan opnås tager den generede kode førset prioriteten.

8 BFÅP Item 54: Brug JNI med omtanke –JNI(Java Native Interface) C,C++, m.m. skrevne native/speciale methods. –Til hvilken nytte? Adgang til legacy libraries Native kode ekserkveres hurtigt. –Hvorfor med omtanke? Unsafe JVM(Java Virtual Machine) er blevet meget hurtigere. –Native kode sjældent hurtigere mere. Mindre portabelt


Download ppt "Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D."

Lignende præsentationer


Annoncer fra Google