Conversation
| @@ -0,0 +1,13 @@ | |||
| using System; | |||
There was a problem hiding this comment.
Хочу коммент по организации кода оставить.
Ты сейчас выделил папку interfaces, но она у тебя на достаточно высоком уровне.
Хорошая практика в больших проектах делить сначала по областям, например: директория - FrequencyAnalyzers, в нее уже можно закинуть директорию interfaces где будет IFrequencyAnalyzer и реализация, если несколько реализаций можно выделять директорию impementations
| var dict = new Dictionary<string, int>(); | ||
| foreach (var w in words) | ||
| { | ||
| if (dict.ContainsKey(w)) dict[w]++; else dict[w] = 1; |
There was a problem hiding this comment.
вообще по большей части, на шарпе стараемся не писать так, на на каждую строку делать if / else. Но сильно зависит от команды, так что тут просто к сведению
| public float CalculateFontSize(int frequency, int minFrequency, int maxFrequency) | ||
| { | ||
| if (minFrequency == maxFrequency) return (minFont + maxFont) / 2; | ||
| var t = (frequency - minFrequency) / (float)(maxFrequency - minFrequency); |
There was a problem hiding this comment.
Старайся все таки переменный называть не одной буквой) Норм такое, в Linq, но все таки лучше давать понятнее названия
|
|
||
| namespace TagsCloud.Interfaces | ||
| { | ||
| public interface IMorphologyAnalyzer |
There was a problem hiding this comment.
Тут интерфейс можно было бы сделать IAnalyzer с Morphology реализацей и в DI настраивать
| using System.Linq; | ||
| using TagsCloud.Interfaces; | ||
|
|
||
| public sealed class MorphologicalPreprocessor : IWordsPreprocessor |
There was a problem hiding this comment.
Имея общий Analyzer можно было бы сделать общий препроцессор, а то у тебя сейчас тут приходятся завязываться на конкретный интерфейс
There was a problem hiding this comment.
В целом ок, но старайся делать интерфейсы более переиспользуемыми
| using System.Linq; | ||
| using TagsCloud.Interfaces; | ||
|
|
||
| public class ImageRenderer : IImageRenderer |
There was a problem hiding this comment.
Тут бы в названии указать, что это за реализация рендеринга
No description provided.