Skip to content

Commit cf09d51

Browse files
committed
fix ( #7 ) : confict로 변경된 코드 수정
1 parent a41dab2 commit cf09d51

4 files changed

Lines changed: 23 additions & 27 deletions

File tree

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,56 @@
11
package io.casper.convention.model
22

33
/**
4-
* 코드 요소 종류를 정의하는 열거형 클래스입니다.
4+
* 코드 요소 종류를 정의하는 sealed class입니다.
55
* 각 코드 요소는 KDoc 검사 대상이 됩니다.
66
*/
7-
enum class CodeElement(
7+
sealed class CodeElement(
88
val friendlyName: String,
99
val difficulty: Int,
1010
val helpMessage: String
1111
) {
1212
/**
1313
* Kotlin 클래스 정의
1414
*/
15-
CLASS(
15+
object CLASS : CodeElement(
1616
"클래스",
1717
3,
1818
"클래스 '%s'에 KDoc 주석이 없습니다."
19-
),
19+
)
2020

2121
/**
2222
* Kotlin 객체 정의
2323
*/
24-
OBJECT(
24+
object OBJECT : CodeElement(
2525
"객체",
2626
3,
2727
"객체 '%s'에 KDoc 주석이 없습니다."
28-
),
28+
)
2929

3030
/**
3131
* Kotlin 인터페이스 정의
3232
*/
33-
INTERFACE(
33+
object INTERFACE : CodeElement(
3434
"인터페이스",
3535
3,
3636
"인터페이스 '%s'에 KDoc 주석이 없습니다."
37-
),
37+
)
3838

3939
/**
4040
* Kotlin 함수 정의
4141
*/
42-
FUNCTION(
42+
object FUNCTION : CodeElement(
4343
"함수",
4444
4,
4545
"함수 '%s'에 KDoc 주석이 없습니다."
46-
),
46+
)
4747

4848
/**
4949
* Kotlin 속성 정의
5050
*/
51-
PROPERTY(
51+
object PROPERTY : CodeElement(
5252
"속성",
5353
5,
5454
"속성 '%s'에 KDoc 주석이 없습니다."
55-
);
55+
)
5656
}

casper-convention/src/main/kotlin/io/casper/convention/model/DocumentationProblem.kt

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.casper.convention.model
22

3+
import io.casper.convention.util.DocMessageTemplates
4+
35
/**
46
* 문서화 문제를 나타내는 데이터 클래스입니다.
57
* 코드 베이스에서 KDoc 주석이 누락된 요소에 대한 정보를 저장합니다.
@@ -35,26 +37,22 @@ data class DocumentationProblem(
3537
*
3638
* @return 파일명과 줄 번호가 포함된 형식화된 오류 메시지
3739
*/
38-
fun toUserFriendlyMessage(): String {
39-
val message = element.helpMessage.format(elementName)
40-
return "[$fileName:$lineNumber] $message"
41-
}
40+
fun toUserFriendlyMessage(): String =
41+
DocMessageTemplates.USER_FRIENDLY_MESSAGE.format(fileName, lineNumber, element.helpMessage.format(elementName))
4242

4343
/**
4444
* 개발자를 위한 상세 오류 메시지를 생성합니다.
4545
*
4646
* @return 파일 경로와 줄 번호가 포함된 상세 오류 메시지
4747
*/
48-
fun toDetailedMessage(): String {
49-
return "${element.friendlyName} '$elementName'에 KDoc 주석이 없습니다. (파일: $filePath, 라인: $lineNumber)"
50-
}
48+
fun toDetailedMessage(): String =
49+
DocMessageTemplates.DETAILED_MESSAGE.format(element.friendlyName, elementName, filePath, lineNumber)
5150

5251
/**
5352
* 로그 출력용 짧은 메시지를 생성합니다.
5453
*
5554
* @return 간결한 형식의 로그 메시지
5655
*/
57-
fun toLogMessage(): String {
58-
return "문서화 필요: ${element.friendlyName} '$elementName' ($fileName:$lineNumber)"
59-
}
56+
fun toLogMessage(): String =
57+
DocMessageTemplates.LOG_MESSAGE.format(element.friendlyName, elementName, fileName, lineNumber)
6058
}

casper-convention/src/main/kotlin/io/casper/convention/service/DocCheckService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class DocCheckService(
4040
/**
4141
* 프로젝트 내 소스 파일들을 분석하여 문서화 문제를 찾습니다.
4242
*
43-
* @param sourceFiles 분석할 소스 파일 목록
43+
* @param sourceFile 분석할 소스 파일 목록
4444
* @param element 검사할 코드 요소 타입
4545
* @return 발견된 문서화 문제 목록
4646
*/

casper-convention/src/main/kotlin/io/casper/convention/tasks/DocCheckTask.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.casper.convention.tasks
22

3+
import io.casper.convention.exception.DocumentationException
34
import io.casper.convention.model.CodeElement
45
import io.casper.convention.service.DocCheckService
56
import org.gradle.api.DefaultTask
@@ -35,10 +36,7 @@ abstract class DocCheckTask : DefaultTask() {
3536
val success = checkService.checkDocumentation(element)
3637

3738
if (!success) {
38-
throw GradleException(
39-
"일부 ${element.friendlyName}에 KDoc 주석이 없습니다. " +
40-
"자세한 내용은 로그를 확인하세요."
41-
)
39+
throw DocumentationException.missingDocumentation(element)
4240
}
4341
}
4442
}

0 commit comments

Comments
 (0)