Skip to content

Commit c312930

Browse files
committed
docs(errors): 튜토리얼 13/14/15/16 self-contained framework를 최신 명명으로 통일 (영/한)
직전 PR의 "의도적 보존" 방침 폐기. 학습자에게 옛 이름과 신규 이름 두 세트를 매핑하라는 부담은 제거하고, 튜토리얼이 가르치는 내용 자체를 v1.0.0-alpha.4 프로덕션 명명과 동일하게 맞춘다. 대상: - Framework/Abstractions/Errors/ 5개 .cs (튜토리얼 13/14/15/16 각 폴더): ErrorCodeFactory.cs → ErrorFactory.cs ErrorCodeExpected.cs → ExpectedError.cs ErrorCodeExceptional.cs → ExceptionalError.cs ErrorCodeFieldNames.cs → ErrorLogFieldNames.cs DomainErrorType.cs → DomainErrorKind.cs - 사용자 코드(.cs) 전반에서 위 클래스를 호출·인용한 부분 일괄 갱신 - 튜토리얼 4개 .md(영/한 8개) 본문의 옛 이름 일괄 갱신 - ErrorCode.Tests.Unit/ErrorCodeFactoryTests.cs → ErrorFactoryTests.cs (클래스 이름·메서드 이름·Trait 모두 갱신) - 직전 PR(807e6b7)에서 추가한 "명명 규칙 안내" :::note 박스 8개 제거 — 더 이상 필요 없음 학습 의도 보존: - 13의 사용자 정의 internal static class DomainErrors 패턴은 그대로 유지(사용자가 직접 정의하는 클래스 이름이라 학습 진화 흐름의 핵심). - 14에서 framework helper DomainError.For<T>()로 단순화되는 흐름도 동일. 검증: FunctionalValueObject.slnx 빌드 0 오류, 1080/1080 테스트 통과. 126 파일 변경(rename·내용 sed 합산), 코드 동작 변경 없음.
1 parent 807e6b7 commit c312930

126 files changed

Lines changed: 9982 additions & 10014 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
1-
using ErrorCode.ValueObjects.Comparable.PrimitiveValueObjects;
2-
3-
4-
/// <summary>
5-
/// Denominator 값 객체의 생성 및 검증 기능 테스트
6-
///
7-
/// 테스트 목적:
8-
/// 1. 유효한 값으로 Denominator 생성 검증
9-
/// 2. 무효한 값(0)으로 Denominator 생성 실패 검증
10-
/// 3. 검증 메서드 동작 검증
11-
/// 4. 비교 연산자 동작 검증
12-
/// </summary>
13-
[Trait("Concept-13-Error-Code", "DenominatorTests")]
14-
public class DenominatorTests
15-
{
16-
// 테스트 시나리오: 0 값으로 Denominator 생성 시 실패해야 한다
17-
[Fact]
18-
public void Create_ShouldReturnFailureResult_WhenValueIsZero()
19-
{
20-
// Arrange
21-
int value = 0;
22-
string expectedErrorCode = $"{nameof(Denominator.DomainErrors)}.{nameof(Denominator)}.{nameof(Denominator.DomainErrors.Zero)}";
23-
24-
// Act
25-
var actual = Denominator.Create(value);
26-
27-
// Assert
28-
actual.IsFail.ShouldBeTrue();
29-
actual.IfFail(error =>
30-
{
31-
error.Count.ShouldBe(1);
32-
error.ShouldBeOfType<ErrorCodeExpected>();
33-
var errorCodeExpected = error as ErrorCodeExpected;
34-
errorCodeExpected!.ErrorCode.ShouldBe(expectedErrorCode);
35-
errorCodeExpected.ErrorCurrentValue.ShouldBe("0");
36-
});
37-
}
1+
using ErrorCode.ValueObjects.Comparable.PrimitiveValueObjects;
2+
3+
4+
/// <summary>
5+
/// Denominator 값 객체의 생성 및 검증 기능 테스트
6+
///
7+
/// 테스트 목적:
8+
/// 1. 유효한 값으로 Denominator 생성 검증
9+
/// 2. 무효한 값(0)으로 Denominator 생성 실패 검증
10+
/// 3. 검증 메서드 동작 검증
11+
/// 4. 비교 연산자 동작 검증
12+
/// </summary>
13+
[Trait("Concept-13-Error-Code", "DenominatorTests")]
14+
public class DenominatorTests
15+
{
16+
// 테스트 시나리오: 0 값으로 Denominator 생성 시 실패해야 한다
17+
[Fact]
18+
public void Create_ShouldReturnFailureResult_WhenValueIsZero()
19+
{
20+
// Arrange
21+
int value = 0;
22+
string expectedErrorCode = $"{nameof(Denominator.DomainErrors)}.{nameof(Denominator)}.{nameof(Denominator.DomainErrors.Zero)}";
23+
24+
// Act
25+
var actual = Denominator.Create(value);
26+
27+
// Assert
28+
actual.IsFail.ShouldBeTrue();
29+
actual.IfFail(error =>
30+
{
31+
error.Count.ShouldBe(1);
32+
error.ShouldBeOfType<ExpectedError>();
33+
var errorCodeExpected = error as ExpectedError;
34+
errorCodeExpected!.ErrorCode.ShouldBe(expectedErrorCode);
35+
errorCodeExpected.ErrorCurrentValue.ShouldBe("0");
36+
});
37+
}
3838
}

Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode.Tests.Unit/ErrorCodeFactoryTests.cs renamed to Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode.Tests.Unit/ErrorFactoryTests.cs

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
/// <summary>
2-
/// ErrorCodeFactory 클래스의 에러 생성 기능 테스트
2+
/// ErrorFactory 클래스의 에러 생성 기능 테스트
33
///
44
/// 테스트 목적:
55
/// 1. 다양한 타입의 에러 생성 메서드 검증
66
/// 2. 에러 코드 포맷팅 기능 검증
77
/// 3. 예외 기반 에러 생성 검증
88
/// </summary>
9-
[Trait("Concept-13-Error-Code", "ErrorCodeFactoryTests")]
10-
public class ErrorCodeFactoryTests
9+
[Trait("Concept-13-Error-Code", "ErrorFactoryTests")]
10+
public class ErrorFactoryTests
1111
{
1212
// 테스트 시나리오: 문자열 에러 코드와 문자열 값을 사용하여 기본 에러를 생성해야 한다
1313
[Fact]
14-
public void Create_ShouldReturnErrorCodeExpected_WhenUsingStringParameters()
14+
public void Create_ShouldReturnExpectedError_WhenUsingStringParameters()
1515
{
1616
// Arrange
1717
string errorCode = "DomainErrors.Name.TooShort";
@@ -23,19 +23,19 @@ public void Create_ShouldReturnErrorCodeExpected_WhenUsingStringParameters()
2323
string errorMessage = "Name is too short. Current value: 'a'";
2424

2525
// Act
26-
var actual = ErrorCodeFactory.Create(errorCode, errorCurrentValue, errorMessage);
26+
var actual = ErrorFactory.Create(errorCode, errorCurrentValue, errorMessage);
2727

2828
// Assert
29-
actual.ShouldBeOfType<ErrorCodeExpected>();
30-
var errorCodeExpected = actual as ErrorCodeExpected;
29+
actual.ShouldBeOfType<ExpectedError>();
30+
var errorCodeExpected = actual as ExpectedError;
3131
errorCodeExpected!.ErrorCode.ShouldBe(expectedErrorCode);
3232
errorCodeExpected.ErrorCurrentValue.ShouldBe(expectedCurrentValue);
3333
errorCodeExpected.Message.ShouldBe(errorMessage);
3434
}
3535

3636
// 테스트 시나리오: 문자열 에러 코드와 정수 값을 사용하여 제네릭 에러를 생성해야 한다
3737
[Fact]
38-
public void Create_ShouldReturnErrorCodeExpectedInt_WhenUsingStringAndIntParameters()
38+
public void Create_ShouldReturnExpectedErrorInt_WhenUsingStringAndIntParameters()
3939
{
4040
// Arrange
4141
string errorCode = "DomainErrors.Age.OutOfRange";
@@ -46,11 +46,11 @@ public void Create_ShouldReturnErrorCodeExpectedInt_WhenUsingStringAndIntParamet
4646
string errorMessage = "Age is out of range. Current value: '150'";
4747

4848
// Act
49-
var actual = ErrorCodeFactory.Create(errorCode, errorCurrentValue, errorMessage);
49+
var actual = ErrorFactory.Create(errorCode, errorCurrentValue, errorMessage);
5050

5151
// Assert
52-
actual.ShouldBeOfType<ErrorCodeExpected<int>>();
53-
var errorCodeExpected = actual as ErrorCodeExpected<int>;
52+
actual.ShouldBeOfType<ExpectedError<int>>();
53+
var errorCodeExpected = actual as ExpectedError<int>;
5454
errorCodeExpected!.ErrorCode.ShouldBe(expectedErrorCode);
5555
errorCodeExpected.ErrorCurrentValue.ShouldBe(expectedCurrentValue);
5656
errorCodeExpected.Message.ShouldBe(errorMessage);
@@ -61,26 +61,26 @@ public void Create_ShouldReturnErrorCodeExpectedInt_WhenUsingStringAndIntParamet
6161
[InlineData("DomainErrors.Email.MissingAt", "not-an-email", "Email is missing '@' symbol. Current value: 'not-an-email'")]
6262
[InlineData("DomainErrors.Phone.NotNumeric", "invalid-phone", "Phone number is not numeric. Current value: 'invalid-phone'")]
6363
[InlineData("DomainErrors.Address.Empty", "empty-address", "Address is empty. Current value: 'empty-address'")]
64-
public void Create_ShouldReturnErrorCodeExpectedWithGenericType_WhenUsingGenericMethod(string errorCode, string errorCurrentValue, string errorMessage)
64+
public void Create_ShouldReturnExpectedErrorWithGenericType_WhenUsingGenericMethod(string errorCode, string errorCurrentValue, string errorMessage)
6565
{
6666
// Arrange
6767
string expectedErrorCode = errorCode;
6868
string expectedCurrentValue = errorCurrentValue;
6969

7070
// Act
71-
var actual = ErrorCodeFactory.Create<string>(errorCode, errorCurrentValue, errorMessage);
71+
var actual = ErrorFactory.Create<string>(errorCode, errorCurrentValue, errorMessage);
7272

7373
// Assert
74-
actual.ShouldBeOfType<ErrorCodeExpected<string>>();
75-
var errorCodeExpected = actual as ErrorCodeExpected<string>;
74+
actual.ShouldBeOfType<ExpectedError<string>>();
75+
var errorCodeExpected = actual as ExpectedError<string>;
7676
errorCodeExpected!.ErrorCode.ShouldBe(expectedErrorCode);
7777
errorCodeExpected.ErrorCurrentValue.ShouldBe(expectedCurrentValue);
7878
errorCodeExpected.Message.ShouldBe(errorMessage);
7979
}
8080

8181
// 테스트 시나리오: 두 개의 제네릭 타입을 사용하여 다중 값 에러를 생성해야 한다
8282
[Fact]
83-
public void Create_ShouldReturnErrorCodeExpectedWithTwoGenericTypes_WhenUsingTwoValueMethod()
83+
public void Create_ShouldReturnExpectedErrorWithTwoGenericTypes_WhenUsingTwoValueMethod()
8484
{
8585
// Arrange
8686
string errorCode = "DomainErrors.Coordinate.XOutOfRange";
@@ -93,11 +93,11 @@ public void Create_ShouldReturnErrorCodeExpectedWithTwoGenericTypes_WhenUsingTwo
9393
int expectedCurrentValue2 = 2000;
9494

9595
// Act
96-
var actual = ErrorCodeFactory.Create(errorCode, errorCurrentValue1, errorCurrentValue2, errorMessage);
96+
var actual = ErrorFactory.Create(errorCode, errorCurrentValue1, errorCurrentValue2, errorMessage);
9797

9898
// Assert
99-
actual.ShouldBeOfType<ErrorCodeExpected<int, int>>();
100-
var errorCodeExpected = actual as ErrorCodeExpected<int, int>;
99+
actual.ShouldBeOfType<ExpectedError<int, int>>();
100+
var errorCodeExpected = actual as ExpectedError<int, int>;
101101
errorCodeExpected!.ErrorCode.ShouldBe(expectedErrorCode);
102102
errorCodeExpected.ErrorCurrentValue1.ShouldBe(expectedCurrentValue1);
103103
errorCodeExpected.ErrorCurrentValue2.ShouldBe(expectedCurrentValue2);
@@ -106,7 +106,7 @@ public void Create_ShouldReturnErrorCodeExpectedWithTwoGenericTypes_WhenUsingTwo
106106

107107
// 테스트 시나리오: 세 개의 제네릭 타입을 사용하여 다중 값 에러를 생성해야 한다
108108
[Fact]
109-
public void Create_ShouldReturnErrorCodeExpectedWithThreeGenericTypes_WhenUsingThreeValueMethod()
109+
public void Create_ShouldReturnExpectedErrorWithThreeGenericTypes_WhenUsingThreeValueMethod()
110110
{
111111
// Arrange
112112
string errorCode = "DomainErrors.Address.Empty";
@@ -121,11 +121,11 @@ public void Create_ShouldReturnErrorCodeExpectedWithThreeGenericTypes_WhenUsingT
121121
string expectedCurrentValue3 = "12345";
122122

123123
// Act
124-
var actual = ErrorCodeFactory.Create(errorCode, errorCurrentValue1, errorCurrentValue2, errorCurrentValue3, errorMessage);
124+
var actual = ErrorFactory.Create(errorCode, errorCurrentValue1, errorCurrentValue2, errorCurrentValue3, errorMessage);
125125

126126
// Assert
127-
actual.ShouldBeOfType<ErrorCodeExpected<string, string, string>>();
128-
var errorCodeExpected = actual as ErrorCodeExpected<string, string, string>;
127+
actual.ShouldBeOfType<ExpectedError<string, string, string>>();
128+
var errorCodeExpected = actual as ExpectedError<string, string, string>;
129129
errorCodeExpected!.ErrorCode.ShouldBe(expectedErrorCode);
130130
errorCodeExpected.ErrorCurrentValue1.ShouldBe(expectedCurrentValue1);
131131
errorCodeExpected.ErrorCurrentValue2.ShouldBe(expectedCurrentValue2);
@@ -135,7 +135,7 @@ public void Create_ShouldReturnErrorCodeExpectedWithThreeGenericTypes_WhenUsingT
135135

136136
// 테스트 시나리오: 예외를 사용하여 예외 기반 에러를 생성해야 한다
137137
[Fact]
138-
public void CreateFromException_ShouldReturnErrorCodeExceptional_WhenUsingException()
138+
public void CreateFromException_ShouldReturnExceptionalError_WhenUsingException()
139139
{
140140
// Arrange
141141
string errorCode = "DomainErrors.System.Exception";
@@ -145,11 +145,11 @@ public void CreateFromException_ShouldReturnErrorCodeExceptional_WhenUsingExcept
145145
string expectedMessage = "Test exception message";
146146

147147
// Act
148-
var actual = ErrorCodeFactory.CreateFromException(errorCode, exception);
148+
var actual = ErrorFactory.CreateFromException(errorCode, exception);
149149

150150
// Assert
151-
actual.ShouldBeOfType<ErrorCodeExceptional>();
152-
var errorCodeExceptional = actual as ErrorCodeExceptional;
151+
actual.ShouldBeOfType<ExceptionalError>();
152+
var errorCodeExceptional = actual as ExceptionalError;
153153
errorCodeExceptional!.ErrorCode.ShouldBe(expectedErrorCode);
154154
errorCodeExceptional.Message.ShouldBe(expectedMessage);
155155
}
@@ -163,7 +163,7 @@ public void Format_ShouldReturnFormattedErrorCode_WhenUsingStringArray(string[]
163163
{
164164
// Arrange
165165
// Act
166-
var actual = ErrorCodeFactory.Format(parts);
166+
var actual = ErrorFactory.Format(parts);
167167

168168
// Assert
169169
actual.ShouldBe(expected);
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
global using Framework.Abstractions.Errors;
2-
global using LanguageExt;
3-
global using Shouldly;
4-
global using Xunit;
1+
global using Framework.Abstractions.Errors;
2+
global using LanguageExt;
3+
global using Shouldly;
4+
global using Xunit;

Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode/Program.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,31 +46,31 @@ static void Main()
4646

4747
static string PrintError(Error error)
4848
{
49-
// InternalsVisibleTo를 통해 ErrorCodeExpected 클래스에 직접 접근
49+
// InternalsVisibleTo를 통해 ExpectedError 클래스에 직접 접근
5050
return error switch
5151
{
52-
ErrorCodeExpected errorCodeExpected =>
52+
ExpectedError errorCodeExpected =>
5353
$"ErrorCode: {errorCodeExpected.ErrorCode}, ErrorCurrentValue: {errorCodeExpected.ErrorCurrentValue}",
5454

55-
ErrorCodeExpected<string> errorCodeExpectedString =>
55+
ExpectedError<string> errorCodeExpectedString =>
5656
$"ErrorCode: {errorCodeExpectedString.ErrorCode}, ErrorCurrentValue: {errorCodeExpectedString.ErrorCurrentValue}",
5757

58-
ErrorCodeExpected<int> errorCodeExpectedInt =>
58+
ExpectedError<int> errorCodeExpectedInt =>
5959
$"ErrorCode: {errorCodeExpectedInt.ErrorCode}, ErrorCurrentValue: {errorCodeExpectedInt.ErrorCurrentValue}",
6060

61-
ErrorCodeExpected<decimal> errorCodeExpectedDecimal =>
61+
ExpectedError<decimal> errorCodeExpectedDecimal =>
6262
$"ErrorCode: {errorCodeExpectedDecimal.ErrorCode}, ErrorCurrentValue: {errorCodeExpectedDecimal.ErrorCurrentValue}",
6363

64-
ErrorCodeExpected<DateTime> errorCodeExpectedDateTime =>
64+
ExpectedError<DateTime> errorCodeExpectedDateTime =>
6565
$"ErrorCode: {errorCodeExpectedDateTime.ErrorCode}, ErrorCurrentValue: {errorCodeExpectedDateTime.ErrorCurrentValue}",
6666

67-
ErrorCodeExpected<byte[]> errorCodeExpectedByteArray =>
67+
ExpectedError<byte[]> errorCodeExpectedByteArray =>
6868
$"ErrorCode: {errorCodeExpectedByteArray.ErrorCode}, ErrorCurrentValue: {errorCodeExpectedByteArray.ErrorCurrentValue?.Length.ToString() ?? "null"}",
6969

70-
ErrorCodeExpected<Price, Price> errorCodeExpectedPriceRange =>
70+
ExpectedError<Price, Price> errorCodeExpectedPriceRange =>
7171
$"ErrorCode: {errorCodeExpectedPriceRange.ErrorCode}, ErrorCurrentValue: MinPrice: {errorCodeExpectedPriceRange.ErrorCurrentValue1}, MaxPrice: {errorCodeExpectedPriceRange.ErrorCurrentValue2}",
7272

73-
ErrorCodeExpected<DateTime, DateTime> errorCodeExpectedDateRange =>
73+
ExpectedError<DateTime, DateTime> errorCodeExpectedDateRange =>
7474
$"ErrorCode: {errorCodeExpectedDateRange.ErrorCode}, ErrorCurrentValue: StartDate: {errorCodeExpectedDateRange.ErrorCurrentValue1}, EndDate: {errorCodeExpectedDateRange.ErrorCurrentValue2}",
7575

7676
_ => $"Message: {error.Message}"

Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode/ValueObjects/01-ComparableNot/01-PrimitiveValueObjects/BinaryData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ internal static class DomainErrors
6161
/// <param name="value">실패한 바이너리 데이터 값</param>
6262
/// <returns>구조화된 에러 정보</returns>
6363
public static Error Empty(byte[]? value) =>
64-
ErrorCodeFactory.Create(
64+
ErrorFactory.Create(
6565
errorCode: $"{nameof(DomainErrors)}.{nameof(BinaryData)}.{nameof(Empty)}",
6666
errorCurrentValue: value?.Length.ToString() ?? "null",
6767
errorMessage: $"Binary data cannot be empty or null. Current value: '{value?.Length.ToString() ?? "null"}'");

Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode/ValueObjects/01-ComparableNot/02-CompositePrimitiveValueObjects/Coordinate.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ internal static class DomainErrors
8888
/// <param name="value">실패한 X 좌표 값</param>
8989
/// <returns>구조화된 에러 정보</returns>
9090
public static Error XOutOfRange(int value) =>
91-
ErrorCodeFactory.Create(
91+
ErrorFactory.Create(
9292
errorCode: $"{nameof(DomainErrors)}.{nameof(Coordinate)}.{nameof(XOutOfRange)}",
9393
errorCurrentValue: value,
9494
errorMessage: $"X coordinate must be between 0 and 1000. Current value: '{value}'");
@@ -99,7 +99,7 @@ public static Error XOutOfRange(int value) =>
9999
/// <param name="value">실패한 Y 좌표 값</param>
100100
/// <returns>구조화된 에러 정보</returns>
101101
public static Error YOutOfRange(int value) =>
102-
ErrorCodeFactory.Create(
102+
ErrorFactory.Create(
103103
errorCode: $"{nameof(DomainErrors)}.{nameof(Coordinate)}.{nameof(YOutOfRange)}",
104104
errorCurrentValue: value,
105105
errorMessage: $"Y coordinate must be between 0 and 1000. Current value: '{value}'");

Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode/ValueObjects/01-ComparableNot/03-CompositeValueObjects/City.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ internal static class DomainErrors
6161
/// <param name="value">실패한 도시명 값</param>
6262
/// <returns>구조화된 에러 정보</returns>
6363
public static Error Empty(string value) =>
64-
ErrorCodeFactory.Create(
64+
ErrorFactory.Create(
6565
errorCode: $"{nameof(DomainErrors)}.{nameof(City)}.{nameof(Empty)}",
6666
errorCurrentValue: value,
6767
errorMessage: $"City name cannot be empty. Current value: '{value}'");

Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode/ValueObjects/01-ComparableNot/03-CompositeValueObjects/PostalCode.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ internal static class DomainErrors
8080
/// <param name="value">실패한 우편번호 값</param>
8181
/// <returns>구조화된 에러 정보</returns>
8282
public static Error Empty(string value) =>
83-
ErrorCodeFactory.Create(
83+
ErrorFactory.Create(
8484
errorCode: $"{nameof(DomainErrors)}.{nameof(PostalCode)}.{nameof(Empty)}",
8585
errorCurrentValue: value,
8686
errorMessage: $"Postal code cannot be empty. Current value: '{value}'");
@@ -91,7 +91,7 @@ public static Error Empty(string value) =>
9191
/// <param name="value">실패한 우편번호 값</param>
9292
/// <returns>구조화된 에러 정보</returns>
9393
public static Error NotFiveDigits(string value) =>
94-
ErrorCodeFactory.Create(
94+
ErrorFactory.Create(
9595
errorCode: $"{nameof(DomainErrors)}.{nameof(PostalCode)}.{nameof(NotFiveDigits)}",
9696
errorCurrentValue: value,
9797
errorMessage: $"Postal code must be exactly 5 digits. Current value: '{value}'");

Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode/ValueObjects/01-ComparableNot/03-CompositeValueObjects/Street.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ internal static class DomainErrors
6161
/// <param name="value">실패한 거리명 값</param>
6262
/// <returns>구조화된 에러 정보</returns>
6363
public static Error Empty(string value) =>
64-
ErrorCodeFactory.Create(
64+
ErrorFactory.Create(
6565
errorCode: $"{nameof(DomainErrors)}.{nameof(Street)}.{nameof(Empty)}",
6666
errorCurrentValue: value,
6767
errorMessage: $"Street name cannot be empty. Current value: '{value}'");

Docs.Site/src/content/docs/ko/tutorials/functional-valueobject/part1-valueobject-concepts/13-error-code/ErrorCode/ValueObjects/02-Comparable/01-PrimitiveValueObjects/Denominator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ internal static class DomainErrors
6161
/// <param name="value">실패한 값</param>
6262
/// <returns>구조화된 에러 정보</returns>
6363
public static Error Zero(int value) =>
64-
ErrorCodeFactory.Create(
64+
ErrorFactory.Create(
6565
errorCode: $"{nameof(DomainErrors)}.{nameof(Denominator)}.{nameof(Zero)}",
6666
errorCurrentValue: value.ToString(),
6767
errorMessage: $"Denominator cannot be zero. Current value: '{value}'");

0 commit comments

Comments
 (0)