split's People
split's Issues
Code accuracy & improvement
1. ... .append('\n');
Корректным ли форматом будет обладать создаваемый файл с точки зрения различных операционных систем?
2. Если статичное поле baseOutputFileName может быть тождественно нестатичному inputFileName - точно ли оно должно быть таковым? Если у нас действует несколько объектов, отвечающих за парсинг КС, то у них может быть только единый формат именования выходных файлов?
3. Информация об ошибках обычно выводится в System.err;
- Нужно ли продолжать выполнение программы, например, в writeFiles, если уже было получено исключение при попытке создания объекта класса Reader? Upd. Still on - посмотрите, например, метод Split.writeFiles(..) - плохого в текущей реализации ничего не произойдёт, но обрабатывать последующие if-ы, при падении, например, в writeByCountFiles - явно не стоит. Кроме того, если не предполагается каких-либо отличий от базовой схемы обработки - исключения стоит просто прокидывать наверх (то же самое касается и тестов);
5. Метод writeFiles не использует поля класса и может быть объявлен как статический. Про представление методов в памяти JVM можно посмотреть здесь;
6. Для работы с ресурсами - например, при чтении файлов - возможно более комфортным решением является применение паттерна 'try-with-resources'.
- Не вполне понятно, почему в классе ParamsSplit часть методов, общих по решаемым задачам с public, стала package-private.
Logic issues
1. Что произойдёт, если при разбиении файла по заданному количеству символов мы выйдем за пределы набора существующих постфиксов имён выходных файлов?
-
Не вполне понятно, почему полное количество двухсимвольных комбинаций a-z Вы вычисляете как
countDivElements > 26*27 - 1
. Upd. Still on; -
По заданию, если не задано имя выходного файла, оно должно формироваться как "X" + постфикс;
-
Что произойдёт в ParamsSplit.isCorrectCommand(..), если пользователь хочет получить разбиение по большому количеству символов (а не по количеству файлов, превышающему заданное значение)?
Tests
-
В текущей реализации нет тестов для выходных файлов с именами с текстовым постфиксом/ равными именам входных файлов;
-
Не вполне понятно, зачем нужен System.out.flush, с учётом того, что используется System.err.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.