Histoire de refactorisation de la version sans tester plus de 200 000 lignes de code de base Après avoir lu cet article, je me suis demandé si Java pouvait faire de même avec un fichier de classe.
Quant au contexte de mes recherches, je gère moi-même Java au travail. C'est parce que je voulais refactoriser, mais je voulais réduire au maximum le nombre d'étapes.
Nous comparerons la valeur de hachage (SHA1) du fichier de classe compilé avec divers changements basés sur le code source standard.
J'ai utilisé la commande certutil -hashfile
pour obtenir la valeur de hachage.
Main.java
import java.util.Arrays;
import java.util.List;
public class Main {
/**
* test
*/
public static void test() {
System.out.println("test");
}
/**
* main
* @param args
*/
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c");
System.out.println(list);
System.out.println("main");
test();
}
}
Valeur de hachage (SHA1): b38492ff5641fa0f074a82ca5f397c7ba7f3575d
La valeur de hachage du fichier Main.class compilé à partir de Main.java est comme ci-dessus. Comparez cela avec les différences entre les fichiers après diverses modifications.
Le contenu de l'enquête étant long, j'écrirai à partir des résultats et des conclusions.
--Ajouter du code --Ajouter un commentaire (nouvelle ligne) --Ajouter une ligne vierge
** Il n'y avait aucune différence dans la valeur de hachage (SHA1) du fichier de classe ** Concernant le changement, il semble que vous puissiez dire "OK sans tester" en comparant la différence du fichier de classe. En particulier, changer le retrait a tendance à causer une grande différence dans le code source, donc j'ai pensé que ce serait bien si je pouvais dire "Comparez les fichiers de classe et il n'y a pas de différence, donc c'est OK".
Main.java
import java.util.Arrays;
import java.util.List;
public class Main {
/**
* test
*/
public static void test() {
System.out.println("test"); System.out.println("test2");
}
/**
* main
* @param args
*/
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c");
System.out.println(list);
System.out.println("main");
test();
}
}
Valeur de hachage (SHA1): 2356a12ac1ca0147356c1eb9824bdacf94e5eaac
Main.java
import java.util.List;
import java.util.Arrays;
public class Main {
/**
* test
*/
public static void test() {
System.out.println("test");
}
/**
* main
* @param args
*/
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c");
System.out.println(list);
System.out.println("main");
test();
}
}
Valeur de hachage (SHA1): b38492ff5641fa0f074a82ca5f397c7ba7f3575d
Main.java
import java.util.Arrays;
import java.util.List;
public class Main {
/**
* test
*/
public static void test() {
System.out.println("test");
}
/**
* main addcomment
* @param args
*/
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c");
System.out.println(list);
System.out.println("main");
test();
}
}
Valeur de hachage (SHA1): b38492ff5641fa0f074a82ca5f397c7ba7f3575d
Main.java
import java.util.Arrays;
import java.util.List;
public class Main {
/**
* test
*/
public static void test() {
System.out.println("test");
}
/**
* main
* add comment
* @param args
*/
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c");
System.out.println(list);
System.out.println("main");
test();
}
}
Valeur de hachage (SHA1): ʻa05020054dd7c85ef01c20bc9d1f0cc45c46d1e1`
Main.java
import java.util.Arrays;
import java.util.List;
public class Main {
/**
* test
*/
public static void test() {
System.out.println("test");
}
/**
* main
* @param args
*/
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c");
System.out.println(list);
System.out.println("main");
test();
}
}
Valeur de hachage (SHA1): ʻa05020054dd7c85ef01c20bc9d1f0cc45c46d1e1`
Main.java
import java.util.Arrays;
import java.util.List;
public class Main {
/**
* test
*/
public static void test() {
System.out.println("test");
}
/**
* main
* @param args
*/
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c");
System.out.println(list);
System.out.println("main");
test();
}
}
Valeur de hachage (SHA1): b38492ff5641fa0f074a82ca5f397c7ba7f3575d
Main.java
import java.util.Arrays;
import java.util.List;
public class Main {
/**
* test
*/
public static void test() {
System.out.println("test");
}
/**
* main
* @param args
*/
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c");
System.out.println((list));
System.out.println("main");
test();
}
}
Valeur de hachage (SHA1): b38492ff5641fa0f074a82ca5f397c7ba7f3575d
Recommended Posts