← Back to list

managing-literal-strings
by christian289
ClaudeCode와 함께하는 .NET 개발 튜토리얼
⭐ 1🍴 0📅 Jan 25, 2026
SKILL.md
name: managing-literal-strings description: "Manages literal strings by pre-defining them as const string in C#. Use when organizing string constants, log messages, exception messages, or UI texts across the codebase."
Literal String Handling
A guide on handling literal strings in C# code.
Project Structure
The templates folder contains a .NET 9 Console Application example.
templates/
└── LiteralStringSample/ ← .NET 9 Console Application
├── Constants/
│ ├── Messages.cs ← General message constants
│ └── LogMessages.cs ← Log message constants
├── Program.cs ← Top-Level Statement entry point
├── GlobalUsings.cs
└── LiteralStringSample.csproj
Rule
Literal strings should preferably be pre-defined as const string
Examples
Good Example
// Good example
const string ErrorMessage = "An error has occurred.";
if (condition)
throw new Exception(ErrorMessage);
Bad Example
// Bad example
if (condition)
throw new Exception("An error has occurred.");
Constants Class Structure
Manage by separating into static classes by message type:
// Constants/Messages.cs
namespace LiteralStringSample.Constants;
public static class Messages
{
// Error messages
public const string ErrorOccurred = "An error has occurred.";
public const string InvalidInput = "Invalid input.";
// Success messages
public const string OperationSuccess = "Operation completed successfully.";
}
// Constants/LogMessages.cs
namespace LiteralStringSample.Constants;
public static class LogMessages
{
// Information logs
public const string ApplicationStarted = "Application started.";
// Format strings
public const string UserLoggedIn = "User logged in: {0}";
}
Usage Example
using LiteralStringSample.Constants;
try
{
if (string.IsNullOrEmpty(input))
{
throw new ArgumentException(Messages.InvalidInput);
}
Console.WriteLine(Messages.OperationSuccess);
}
catch (Exception)
{
Console.WriteLine(Messages.ErrorOccurred);
}
// Using format strings
Console.WriteLine(string.Format(LogMessages.UserLoggedIn, userName));
Reasons
- Maintainability: Only one place to modify when changing messages
- Reusability: Same messages can be used in multiple places
- Type safety: Typos can be caught at compile time
- Performance: Eliminates string literal duplication
- Consistency: Messages can be managed in pairs (e.g., Korean/English)
Score
Total Score
65/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon
