Skip to content

Conversation

@zuiweida
Copy link

@zuiweida zuiweida commented May 7, 2018

No description provided.

.. code:: java

public Cargo(CargoType cargoType) {
this.name = cargoType;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

name pole mõistlik muutuja. hiljem tekitab segadust

.. code:: java

private boolean cargosAreOk() {
return cargos.size() == 0 || cargos.size() == 1 || cargos.contains("FUEL")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

siin pole mõistlik kasutada Stringe võrdlemiseks. Pigem võiks olla list CargoType elementidest ja kontrollida neid.
aga veel õigem oleks üldse teha nii, et CargoType juures on see võrdlus. võid mõelda nii, et kui lisatakse uus CargoType, siis ei pea koodis mitmes kohas käima muutmas. kui loogika konfliktsetest tüüpides on kõik näiteks enumi juures, siis on vähem vaja muudatusi teha hiljem koodis.

if (engineList.size() > 0) {
if (cargoTypes.length == 1 && cargoTypes[0].getDangerLevel() > this.getBestEngine().get()
.getRiskLevel()) {
try {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sedasi pole mõtet erindit (exception) kasutada. siinne kood teeb seda, et viskab erindi TooRiskyCargo, seejärel kohe püüab selle erindi ning prindib teksti ja tagastab Optional.empty(). Sama hästi võiks kogu try-catch ära jääda ja oleks lihtsalt print ja return. erindi mõte on see, et see visatakse väljapoole meetodit või siis seda püütakse kinni mingi meetodi puhul, mis selle võib tõstatada. aga selliselt, et tõstatad ja kohe püüad kinni - selliselt ei ole sellest kasu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants