Commit 828527fb authored by Michaela Doležalová's avatar Michaela Doležalová
Browse files

Proofreading README.

parent 1b69f854
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -11,9 +11,9 @@ Homework assignment no. 1, Segment Display

General information
-------------------
This section provides general information about the initial structure of provided codebase.  
This section provides general information about the initial structure of the provided codebase.  

### Project structure
### Project Structure
The structure of the project provided as a base for your implementation should meet the following criteria.

1. Package ```cz.muni.fi.pb162.hw01``` contains classes and interfaces provided as a part of the assignment.
@@ -27,26 +27,26 @@ Additionally, the following applies for the initial contents of ``cz.muni.fi.pb1
1) The information in **javadoc has precedence over everything**
2) **Interfaces** must be implemented
3) **Interfaces** must keep predefined methods
4) Otherwise, you can modify the code (unless used by tests) as you see fit
5) When in doubt **ASK**
4) Otherwise, you can modify the code (unless tests are affected) as you see fit
5) When in doubt, **ASK**

**Note:**  
*While modification of interface is not strictly prohibited, you don't want to end with [god object](https://en.wikipedia.org/wiki/God_object) implementations.    
On the other hand, you want to adhere to [single responsibility principle](https://en.wikipedia.org/wiki/Single-responsibility_principle).  
A rule of thumb should be not to modify interfaces, unless required by the assignment. Consider extending the interface as an alternative.*
*While a modification of the interface is not strictly prohibited, you don't want to end with [god object](https://en.wikipedia.org/wiki/God_object) implementations.    
On the other hand, you want to adhere to the [single responsibility principle](https://en.wikipedia.org/wiki/Single-responsibility_principle).  
A rule of thumb should be not to modify interfaces unless required by the assignment. Consider extending the interface as an alternative.*

### Names in this document
### Names in This Document
Unless fully classified name is provided, all class names are relative to the package ```cz.muni.fi.pb162.hw01``` or ```cz.muni.fi.pb162.hw01.impl``` for classes implemented as a part of your solution.

### Compiling the project
The project can be compiled and packaged in the same way you already know
### Compiling the Project
The project can be compiled and packaged in the same way you already know.

```bash
$ mvn clean install
```

The only difference is that unlike with seminar project, this time the checks for missing documentation and style violation will produce an error.
You can temporarily disable this behavior when running this command.
The only difference is that unlike the seminar project, the checks for missing documentation and a style violation will produce an error this time.
You can disable this behavior temporarily when running this command.

```bash
$ mvn clean install -Dcheckstyle.skip
@@ -55,7 +55,7 @@ $ mvn clean install -Dcheckstyle.skip
You can consult your seminar teacher to help you set the ```checkstyle.skip``` property in your IDE (or just google it).

### Submitting the Assignment
Follow instructions of your tutor because the procedure to submit your solution may differ based on your seminar group. However, there are two ways of submittion in general:
Follow instructions of your tutor because the procedure to submit your solution may differ based on your seminar group. However, there are two ways of submission in general:
* Fork the project, develop your code in a development branch, and finally ask for the merge.
* Submit ```target/homework01-2023-1.0-SNAPSHOT-sources.jar``` to the homework vault.

@@ -79,8 +79,8 @@ The goal of this homework is to implement a program which will simulate a virtua


### Supported Symbols
In contract to physical segment display, printing to console possesses certain limitation regarding character placement.
However, in case of seven segment display, we can make the symbol quite distinguishable while keeping a reasonable size.
In contrast to a physical segment display, printing to the console possesses certain limitations regarding the character placement.
However, in case of the seven segment display we can make the symbol quite distinguishable while keeping a reasonable size.

When printed to stdout, a seven segment display (capable of displaying a single symbol) is formatted as follows

@@ -94,7 +94,7 @@ When printed to stdout, a seven segment display (capable of displaying a single
Bellow is a template of symbols supported by our application. 

```
# Digits:  0123456789 (the empty space at the begining represents a clear display) 
# Digits:  0123456789 (the empty space at the begining represents an empty display) 
    _     _  _     _     _  _  _ 
   | |  | _| _||_||_ |_   ||_||_|
   |_|  ||_  _|  | _||_|  ||_|  |
@@ -106,7 +106,7 @@ Bellow is a template of symbols supported by our application.
```

The *error symbol* is displayed in case of an unsupported character. See the javadoc for more information.  
**Note: Make sure that the formatting of you output is exactly the same as described**
**Note: Make sure that the formatting of your output is exactly the same as described**

### Implementation Notes
To achieve proper decomposition, you are required to finish the implementation of
@@ -121,14 +121,14 @@ Part of the implementation is a command line Application which should support th
|--------------|-------|-----------|---------|--------------------------------------------------|-------------------|
| Size         | -s    | --size    | 1       | Total size of the display (number of characters) | \>= 1             |

Application should recognize the following positional arguments
The Application should recognize the following positional arguments

| #   | Description            |
|-----|------------------------|
| 1   | String to be displayed |


### Running the application
### Running the Application
The build descriptor is configured to produce a single runnable jar file located at `target/application.jar`. The application can be run using the following command

```
@@ -156,7 +156,7 @@ $ java -jar application.jar -s 12 01234567890E
| |  | _| _||_||_ |_   ||_||_|| ||_
|_|  ||_  _|  | _||_|  ||_|  ||_||_

# Display content with unsupported symbol
# Display content with the unsupported symbol
java -jar application.jar -s 3 1a2                                                                          20:55:46
    _  _
  ||_  _|