Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions src/main/java/ru/cu/Main.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
package ru.cu;

//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
// слишком много комментариев
public class Main {
public static void main(String[] args) {
//TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text
// to see how IntelliJ IDEA suggests fixing it.
// слишком много комментариев
System.out.printf("Hello and welcome!");

for (int i = 1; i <= 5; i++) {
//TIP Press <shortcut actionId="Debug"/> to start debugging your code. We have set one <icon src="AllIcons.Debugger.Db_set_breakpoint"/> breakpoint
// for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>.
// for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>.
// слишком много комментариев
System.out.println("i = " + i);
}
}
}
}

46 changes: 24 additions & 22 deletions src/main/java/ru/cu/OrderProcessor.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
* Smell Safari Exercise
*/


import java.io.Closeable;
import java.io.IOException;
import java.util.ArrayList;
import java.util.ArrayList; // не используется
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand All @@ -26,13 +27,13 @@ public class OrderProcessor extends BaseOrderProcessor implements Closeable {

private double taxRate = 0.2;

private String lastCustomerName;
private double lastGrandTotal;
private String lastCustomerName; // не используется
private double lastGrandTotal; // не используется
private int operationsCounter;

private final Map<String, Double> loyaltyCache = new HashMap<>();
private final Map<String, Double> loyaltyCache = new HashMap<>(); // не используется

private String tempReport;
private String tempReport; // временная переменная должна быть внутри нужного метода

public void processOrders(List<Order> orders,
String customerName,
Expand All @@ -48,12 +49,13 @@ public void processOrders(List<Order> orders,
int shippingSpeed,
boolean sendEmailFlag,
boolean sendSmsFlag,
boolean sendPushFlag) {
boolean sendPushFlag) { // слишком много параметров, надо разбивать на классы
// да и метод чет слишком длинный, его тоже можно разбить на несколько

beforeProcess();

operationsCounter++;
logger.info("--- Start processing batch #" + operationsCounter + " ---");
logger.info("--- Start processing batch #" + operationsCounter + " ---");

double total = 0;
for (Order o : orders) {
Expand All @@ -73,17 +75,17 @@ public void processOrders(List<Order> orders,
}
}

double shippingCost = calculateShipping(shippingMethod, shippingSpeed);
double tax = total * taxRate;
double grandTotal = total + shippingCost + tax;
double shippingCost = calculateShipping(shippingMethod, shippingSpeed); // primitive obsession
double tax = total * taxRate; // primitive obsession
double grandTotal = total + shippingCost + tax; // primitive obsession

if (sendEmailFlag) {
if (sendEmailFlag) { // флаги это плохо
sendEmail(customerName, addressLine1, addressLine2, postalCode, city, country, grandTotal);
}
if (sendSmsFlag) {
if (sendSmsFlag) { // флаги это плохо
sendSMS(customerName, country, grandTotal);
}
if (sendPushFlag) {
if (sendPushFlag) { // флаги это плохо
sendPush(customerName, grandTotal);
}

Expand All @@ -96,7 +98,7 @@ public void processOrders(List<Order> orders,
logger.info("Non-Finland loyalty points added: " + loyalty);
}

tempReport = generateReport(customerName, orders, grandTotal);
tempReport = generateReport(customerName, orders, grandTotal); // используется deprecated метод
logger.fine(tempReport);

lastCustomerName = customerName;
Expand Down Expand Up @@ -131,21 +133,21 @@ public String generateReport(String customerName, List<Order> orders, double gra
sb.append("TOTAL: ").append(grandTotal).append("\n");
logger.info("Report generated for " + customerName);
return sb.toString();
}
} // dead code

public String getCustomerPhone(Order o) {
return o.getCustomer().getPhone();
}
public String getCustomerEmail(Order o) {
return o.getCustomer().getEmail();
}
} // ???

private void sendEmail(String name, String a1, String a2, String pc, String city, String country, double total) {
private void sendEmail(String name, String a1, String a2, String pc, String city, String country, double total) { // плохие названия
try {
if (total < 0) throw new IOException("Negative total!");
logger.info("[EMAIL] " + name + " spent " + total);
} catch (Exception ignored) {
}
} // пустой catch блок
}

private void sendSMS(String name, String country, double total) {
Expand All @@ -168,13 +170,13 @@ public double calculateTotalAmounts(List<Order> orders) {
return sum;
}

private double oldCalculate(List<Order> orders) {
return 42;
private double oldCalculate(List<Order> orders) { // never used
return 42; // magic number
}

@Override
public void close() {
}
public void close() {
} // пустой deprecated метод

public static class Order {
private final String id;
Expand Down