Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

code review: 0908 #1

Open
raipen opened this issue Mar 8, 2024 · 0 comments
Open

code review: 0908 #1

raipen opened this issue Mar 8, 2024 · 0 comments

Comments

@raipen
Copy link

raipen commented Mar 8, 2024

pb1

  1. 다 좋은 데 binSearch 이름이 좀 맘에 안 듬. 밑에꺼는 재귀적이라는게 이름에서 나타나는데 얘는 그냥 바이너리서치가 이름이라 이름을 iterBinSearch 같은게 어땠을까 하는 생각.
  2. RBS는 left랑 right 인자에 계속 다른 값 넣어가면서 하니까 left right 이름으로 인자 2개 받는거 ㅇㅈ인데, IBS는 내부에서 left랑 right를 설정해줄 뿐이고, 사실상 인자로 받아야할 내용은 right 초기값으로 사용할 arrSize가 전부임. 즉, IBS 함수를 사용하는측에서, left랑 right의 값으로 뭘 넣어야할지 고민하지 않도록,
int binSearch (int list[], int searchNum, int size) {
  int left = 0;
  int right = size;
  int middle;
  while(1){
     //.....
  }
  //....
}

이런식으로 바꾸는게 IBS스럽지 않을까?

pb2

최대한 else를 쓰지 않는것이 좋음. 함수안에서 if문에 해당되면 그냥 바로 return 해버리면 어차피 else 의미 없으니 적지 마셈 ㅇㅇ
else 없애서 들여쓰기 하나라도 줄이는게 일반적임

void recurBin(int num) {
    if (num < 2) return printf("%d", num % 2);
  
    recurBin(num / 2);
    printf("%d", num % 2);
}

int zeroNum (int num) {
    if (num == 1) return 0;
    if ((num % 2) != 0) return zeroNum(num / 2);
    return (1 + zeroNum(num / 2));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant