-
Notifications
You must be signed in to change notification settings - Fork 9
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
학생 관리 프로그램 - 진서연 #6
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
기능구현에 고민해보신 흔적이 보인 코드였습니다!
고생하셨습니다! 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DB를 자체적으로 구현해 메모리가 아닌 디스크영역에 데이터를 저장한다는것이 매우 인상적이었습니다!
다만, 이걸 조금더 확장시켜서 생각해보면
DB -> 학생정보 -> 개인정보
라고했을때 보안에 민감한 정보임을 유추해볼 수 있습니다.
이러한 파일들은 gitignore
에 포함해 실행환경 아래에서만 관리되도록 하면 좋을것 같아요 :)
System.out.println("1. 학생 등록 2. 학생 전체 조회 3. 학생 검색 4. 학생 정보 수정 5. 학생 삭제 6. 그만"); | ||
menu = scn.nextInt(); | ||
|
||
switch (menu) { | ||
case 1: | ||
//학생등록 | ||
System.out.print("학번을 입력하세요: "); | ||
String studentId = scn.next(); | ||
System.out.print("이름을 입력하세요: "); | ||
String name = scn.next(); | ||
System.out.print("국어 성적을 입력하세요: "); | ||
int koreanScore = scn.nextInt(); | ||
System.out.print("영어 성적을 입력하세요: "); | ||
int englishScore = scn.nextInt(); | ||
System.out.print("수학 성적을 입력하세요: "); | ||
int mathScore = scn.nextInt(); | ||
|
||
Student st = new Student(studentId, name, koreanScore, englishScore, mathScore); | ||
m.enroll(st); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
다른분들도 많이 놓치신 부분인데,
입력값에 대한 예외처리도 있었으면 좋았을것 같습니다!
개발자 입장에서 사용자에게 전달받는 값들에 대한 유효성검사는 런타임 에러나 치명적인 비즈니스 로직 에러로 이어지기에 매우 중요한 부분이라고 생각해주시면 좋을것 같아요!
private String id; | ||
private String name; | ||
private int k_score; | ||
private int e_score; | ||
private int m_score; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
자바에서 사용하는 코드 컨벤션이 존재합니다.
변수명을 스네이크 케이스로 해주셨는데, 자바에서는 주로 카멜케이스를 사용하는 것으로 알고있어요!
자바 코딩 규칙
에 대해서 한번 찾아보시면 좋을것 같습니다 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
파일 입출력을 통해 데이터를 관리한다는 점이 가장 인상 깊네요!
혹시 정규표현식에 대해 관심이 있다면 아예 DML을 통해 데이터베이스처럼 동작하는 프로그램을 짜봐도 재미있을 것 같습니다!
과제하느라 고생 많으셨습니다 :)
public static void main(String[] args) throws IOException { | ||
Management m = new Management(); | ||
Scanner scn = new Scanner(System.in); | ||
int menu=0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intellij - Actions on save 기능을 사용하면 저장 시에 컨벤션을 맞추는데 도움을 받을 수 있습니다. 한 번 사용해보시면 좋을 것 같네요!
int menu2=scn.nextInt(); | ||
switch (menu2){ | ||
case 1: | ||
System.out.print("이름을 입력하세요: "); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이렇게 자주 사용되는 문자열이 있을 경우 수정을 하게 된다면 상당히 번거로운 작업이 될 수 있는데, 이러한 문제를 어떻게 해결할 수 있을 지 고민해보시면 좋을 것 같습니다!!
내가 개발한 기능
내가 개발할 때 유의 깊게 개발한 부분
내가 개발하면서 들었던 의문 사항