Skip to content

Commit 43573b1

Browse files
committed
Code cleanup
1 parent 17f9664 commit 43573b1

5 files changed

Lines changed: 32 additions & 33 deletions

File tree

App/EncodingChecker.exe

-512 Bytes
Binary file not shown.

App/EncodingUtils.dll

0 Bytes
Binary file not shown.

sources/EncodingChecker/EncodingUtils/TextEncoding.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ namespace EncodingUtils
77
{
88
public static class TextEncoding
99
{
10+
/// <summary>
1011
/// https://netvignettes.wordpress.com/2011/07/03/how-to-detect-encoding/
11-
private static DecoderExceptionFallback _decoderExceptionFallback = new DecoderExceptionFallback();
12+
/// </summary>
13+
private static readonly DecoderExceptionFallback DecoderExceptionFallback = new DecoderExceptionFallback();
1214
public static bool Validate(this Encoding encoding, byte[] bytes, int offset = 0, int? length = null)
1315
{
1416
if (encoding == null)
@@ -33,7 +35,7 @@ public static bool Validate(this Encoding encoding, byte[] bytes, int offset = 0
3335
throw new ArgumentOutOfRangeException(nameof(offset), @"The specified range is outside of the specified buffer.");
3436
}
3537
var decoder = encoding.GetDecoder();
36-
decoder.Fallback = _decoderExceptionFallback;
38+
decoder.Fallback = DecoderExceptionFallback;
3739
try
3840
{
3941
decoder.GetCharCount(bytes, offset, length.Value);

sources/EncodingChecker/EncodingUtils/Utf16Detector.cs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44

55
namespace EncodingUtils
66
{
7+
/// <summary>
78
/// http://architectshack.com/TextFileEncodingDetector.ashx
89
/// https://github.com/AutoItConsulting/text-encoding-detect/blob/master/TextEncodingDetect-C%23/TextEncodingDetect/TextEncodingDetect.cs
910
/// https://github.com/ashtuchkin/iconv-lite/blob/master/encodings/utf16.js
1011
/// https://sourceforge.net/p/jedit/feature-requests/396/
1112
/// https://stackoverflow.com/questions/1025332/determine-a-strings-encoding-in-c-sharp
1213
/// https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-istextunicode
14+
/// </summary>
1315
public static class Utf16Detector
1416
{
1517
/// <summary>
@@ -65,9 +67,8 @@ public static Encoding DetectFromBytes(byte[] bytes, int offset, int len)
6567
}
6668

6769
/// <summary>
68-
/// Detect the UTF character encoding by reading the stream.
69-
///
70-
/// Note: stream position is not reset before and after.
70+
/// <para>Detect the UTF character encoding by reading the stream.</para>
71+
/// <para>Note: stream position is not reset before and after.</para>
7172
/// </summary>
7273
/// <param name="stream">The steam. </param>
7374
/// <returns>UTF Encoding or null if not available.</returns>
@@ -82,9 +83,8 @@ public static Encoding DetectFromStream(Stream stream)
8283
}
8384

8485
/// <summary>
85-
/// Detect the UTF character encoding by reading the stream.
86-
///
87-
/// Note: stream position is not reset before and after.
86+
/// <para>Detect the UTF character encoding by reading the stream.</para>
87+
/// <para>Note: stream position is not reset before and after.</para>
8888
/// </summary>
8989
/// <param name="stream">The steam. </param>
9090
/// <param name="maxBytesToRead">max bytes to read from <paramref name="stream"/>. If <c>null</c>, then no max</param>
@@ -120,13 +120,7 @@ public static Encoding DetectFromStream(Stream stream, int? maxBytesToRead)
120120
numBytesRead += stream.Read(buffer, numBytesRead, maxBytesToRead.Value - numBytesRead);
121121

122122
encoding = CheckUtf16Ascii(buffer, numBytesRead);
123-
if (encoding != null)
124-
{
125-
return encoding;
126-
}
127-
128-
encoding = CheckUtf16ControlChars(buffer, numBytesRead);
129-
return encoding;
123+
return encoding ?? CheckUtf16ControlChars(buffer, numBytesRead);
130124
}
131125

132126
/// <summary>

sources/EncodingChecker/MainForm.cs

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ private enum CurrentAction
4444
private CurrentAction _currentAction;
4545
private Settings _settings;
4646

47-
private const int ResultsColumnCharset = 0;
48-
private const int ResultsColumnFileName = 1;
49-
private const int ResultsColumnDirectory = 2;
47+
private const int RESULTS_COLUMN_CHARSET = 0;
48+
private const int RESULTS_COLUMN_FILE_NAME = 1;
49+
private const int RESULTS_COLUMN_DIRECTORY = 2;
5050

5151
public MainForm()
5252
{
@@ -183,13 +183,15 @@ private void OnExport(object sender, EventArgs e)
183183
}
184184

185185
string filename1 = "";
186-
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
187-
saveFileDialog1.Title = "Export to a Text File";
188-
saveFileDialog1.Filter = "txt files (*.txt)|*.txt";
189-
saveFileDialog1.RestoreDirectory = true;
186+
SaveFileDialog saveFileDialog1 = new SaveFileDialog
187+
{
188+
Title = "Export to a Text File",
189+
Filter = "txt files (*.txt)|*.txt",
190+
RestoreDirectory = true
191+
};
190192
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
191193
{
192-
filename1 = saveFileDialog1.FileName.ToString();
194+
filename1 = saveFileDialog1.FileName;
193195
}
194196

195197
if (filename1 != "")
@@ -200,15 +202,16 @@ private void OnExport(object sender, EventArgs e)
200202
{
201203
foreach (ListViewItem item in lstResults.CheckedItems)
202204
{
203-
string charset = item.SubItems[ResultsColumnCharset].Text;
204-
string fileName = item.SubItems[ResultsColumnFileName].Text;
205-
string directory = item.SubItems[ResultsColumnDirectory].Text;
205+
string charset = item.SubItems[RESULTS_COLUMN_CHARSET].Text;
206+
string fileName = item.SubItems[RESULTS_COLUMN_FILE_NAME].Text;
207+
string directory = item.SubItems[RESULTS_COLUMN_DIRECTORY].Text;
206208
sw.WriteLine("{0}\t{1}\\{2}", charset, directory, fileName);
207209
}
208210
}
209211
}
210212
catch
211213
{
214+
// do nothing
212215
}
213216
}
214217
}
@@ -277,11 +280,11 @@ private void OnConvert(object sender, EventArgs e)
277280

278281
foreach (ListViewItem item in lstResults.CheckedItems)
279282
{
280-
string charset = item.SubItems[ResultsColumnCharset].Text;
283+
string charset = item.SubItems[RESULTS_COLUMN_CHARSET].Text;
281284
if (charset == "(Unknown)")
282285
continue;
283-
string fileName = item.SubItems[ResultsColumnFileName].Text;
284-
string directory = item.SubItems[ResultsColumnDirectory].Text;
286+
string fileName = item.SubItems[RESULTS_COLUMN_FILE_NAME].Text;
287+
string directory = item.SubItems[RESULTS_COLUMN_DIRECTORY].Text;
285288
string filePath = Path.Combine(directory, fileName);
286289

287290
FileAttributes attributes = File.GetAttributes(filePath);
@@ -325,7 +328,7 @@ private void OnConvert(object sender, EventArgs e)
325328

326329
item.Checked = false;
327330
item.ImageIndex = 0;
328-
item.SubItems[ResultsColumnCharset].Text = targetCharset;
331+
item.SubItems[RESULTS_COLUMN_CHARSET].Text = targetCharset;
329332
}
330333

331334
// resume drawing of the results list view control
@@ -407,7 +410,7 @@ private static void ActionWorkerDoWork(object sender, DoWorkEventArgs e)
407410
if (reportBufferCounter > 1)
408411
{
409412
reportBufferCounter--;
410-
int percentageCompleted = 100;
413+
const int percentageCompleted = 100;
411414
WorkerProgress[] reportProgress = new WorkerProgress[reportBufferCounter];
412415
Array.Copy(progressBuffer, reportProgress, reportBufferCounter);
413416
worker.ReportProgress(percentageCompleted, reportProgress);
@@ -486,7 +489,7 @@ private void LoadSettings()
486489
_settings = (Settings)settingsInstance;
487490
}
488491

489-
if (_settings.RecentDirectories != null && _settings.RecentDirectories.Count > 0)
492+
if (_settings.RecentDirectories?.Count > 0)
490493
{
491494
foreach (string recentDirectory in _settings.RecentDirectories)
492495
lstBaseDirectory.Items.Add(recentDirectory);
@@ -496,7 +499,7 @@ private void LoadSettings()
496499
lstBaseDirectory.Text = Environment.CurrentDirectory;
497500
chkIncludeSubdirectories.Checked = _settings.IncludeSubdirectories;
498501
txtFileMasks.Text = _settings.FileMasks;
499-
if (_settings.ValidCharsets != null && _settings.ValidCharsets.Length > 0)
502+
if (_settings.ValidCharsets?.Length > 0)
500503
{
501504
for (int i = 0; i < lstValidCharsets.Items.Count; i++)
502505
if (Array.Exists(_settings.ValidCharsets,

0 commit comments

Comments
 (0)