본문 바로가기

잡담

C언어 개발자가 Java로 개발을 하게 될 때

SI프로젝트에서 일을 하다보면 소스코드가 읽기 어려운 소스코드가 많다는 생각을 하게 된다.

SI프로젝트의 경우 개발자의 경력만 보고 뽑는 경우가 상당히 많다. 그 개발자가 20년간 C언어를 했다고 해도 20년이라는 경력이 있기 때문에 Java 프로젝트에 투입된다. 이런 사람이 java로 소스를 작성하게 될 경우 상당히 당황스러운 소스코드가 나온다.

java의 경우 str이라는 문자열 안에 '.txt'라는 문자열이 있는지 확인할 때 java에 익숙한 사람은

if(str.contains('.txt')){

}

라고 작성을 한다.

c언어 개발자의 경우는 아래와 같다.

if(str.indexOf(".txt") >= 0){

}

 

아니면 문자열이 같은지를 찾을 때

 

if("123".equals(str)){
    System.out.println("자바 개발자");
}

if("123".equals(str) == true){
    System.out.println("C 개발자");
}

if(str.indexOf("123") == 0){
    System.out.println("C 개발자");
}

이러한 형식으로 소스를 작성한다.

 

c언어 개발자의 또 다른 특징은 배열을 활용하는 것을 좋아하는 것 같아 보인다.

String[] str = {"12", "34", "56", "78", "90"};
String findText = "90";
for(int i=0; i< str.length; i++){
    if(findText.equals(str[i])){
        System.out.println("찾았음");
    }
}

 

나의 경우

String stt = "90";
switch (stt){
    case "12" : System.out.println("찾았음"); break;
    case "34" : System.out.println("찾았음"); break;
    case "56" : System.out.println("찾았음"); break;
    case "78" : System.out.println("찾았음"); break;
    case "90" : System.out.println("찾았음"); break;
}

 c언어 개발자가 소스를 java로 작성했을 경우 읽기가 어렵다...