From c823775c0c8674bf1627aecd6fc0d6336f3f3a16 Mon Sep 17 00:00:00 2001 From: didier amyot Date: Sun, 24 Jun 2018 17:37:37 -0400 Subject: [PATCH] beautify code --- src/book/cli.clj | 4 ++-- src/book/exchange.clj | 22 ++++++++++------------ src/book/web.clj | 4 ++-- test/book/exchange_test.clj | 16 ++++++++-------- 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/book/cli.clj b/src/book/cli.clj index daa5384..2e2ffd5 100644 --- a/src/book/cli.clj +++ b/src/book/cli.clj @@ -1,7 +1,7 @@ (ns book.cli (:require [book.match :refer [sell?]] [book.util :refer :all] - [book.exchange :refer [empty-book create-exchange-for-security-2]] + [book.exchange :refer [empty-book create-exchange-for-security]] [book.order] ;; for spec side effect [slingshot.slingshot :refer [try+ throw+]] [clojure.edn :as edn] @@ -42,7 +42,7 @@ (defn -main [& args] (let [initial-book empty-book incoming-order-channel (chan) - [trades-channel new-book-order-channel] (create-exchange-for-security-2 initial-book incoming-order-channel)] + [trades-channel new-book-order-channel] (create-exchange-for-security initial-book incoming-order-channel)] (go (print-chan "trade > " trades-channel)) (go (print-chan "order > " new-book-order-channel)) (loop [order (read-order)] diff --git a/src/book/exchange.clj b/src/book/exchange.clj index 0647d4c..9856d89 100644 --- a/src/book/exchange.clj +++ b/src/book/exchange.clj @@ -4,43 +4,41 @@ create-sell-book match-order-in-book]] [book.util :refer :all] - [clojure.core.async :refer [chan go >!! ! pub]])) + [clojure.core.async :refer [chan go >! >=" same-type-book (type same-type-book));; - ;ff (println ">>=" leftover-order (type leftover-order)) new-same-type-book (if leftover-order (conj same-type-book leftover-order) same-type-book)] [new-reference-book new-same-type-book leftover-order trades])) -(defn process-sell-order-2 [{sell-book :sell buy-book :buy} order] +(defn process-sell-order [{sell-book :sell buy-book :buy} order] (let [[new-buy-book new-sell-book new-order trades] (process-abstract order buy-book sell-book) new-book {:sell new-sell-book :buy new-buy-book}] [new-book new-order trades])) -(defn process-buy-order-2 [{sell-book :sell buy-book :buy} order] +(defn process-buy-order [{sell-book :sell buy-book :buy} order] (let [[new-sell-book new-buy-book new-order trades] (process-abstract order sell-book buy-book) new-book {:sell new-sell-book :buy new-buy-book}] [new-book new-order trades])) -(defn process-order-2 [book order] +(defn process-order [book order] (if (sell? order) - (process-sell-order-2 book order) - (process-buy-order-2 book order))) + (process-sell-order book order) + (process-buy-order book order))) -(defn process-orders-2 [initial-book incoming-order-channel] +(defn process-orders [initial-book incoming-order-channel] (let [trades-channel (chan) new-book-order-channel (chan)] (go (loop [order (! new-book-order-channel new-order)) (doseq [trade new-trades] (>! trades-channel trade)) - (recur ( expt-new-sell-book new-buy-book => empty? new-order => order @@ -25,7 +25,7 @@ order {:type :sell :quantity 4 :price 2 :book.order/id 3} expt-new-buy-book [{:price 3 :quantity 6 :type :buy :book.order/id 2}] expt-new-trades [#:book.order{:book-id 2 :order-id 3 :price 3 :quantity 4 :type :buy}] - [{new-sell-book :sell new-buy-book :buy} new-order new-trades] (process-order-2 book order)] + [{new-sell-book :sell new-buy-book :buy} new-order new-trades] (process-order book order)] new-sell-book => empty? new-buy-book => expt-new-buy-book new-order => nil? @@ -35,7 +35,7 @@ (let [book empty-book order {:type :buy :quantity 10 :price 2 :book.order/id 1} expt-new-sell-book [order] - [{new-sell-book :sell new-buy-book :buy} new-order new-trades] (process-order-2 book order)] + [{new-sell-book :sell new-buy-book :buy} new-order new-trades] (process-order book order)] new-sell-book => empty? new-buy-book => expt-new-sell-book new-order => order @@ -48,7 +48,7 @@ order {:type :buy :quantity 4 :price 4 :book.order/id 3} expt-new-sell-book [{:price 3 :quantity 6 :type :sell :book.order/id 2}] expt-new-trades [#:book.order{:book-id 2 :order-id 3 :price 3 :quantity 4 :type :sell}] - [{new-sell-book :sell new-buy-book :buy} new-order new-trades] (process-order-2 book order)] + [{new-sell-book :sell new-buy-book :buy} new-order new-trades] (process-order book order)] new-sell-book => expt-new-sell-book new-order => nil? new-trades => expt-new-trades)) @@ -61,10 +61,10 @@ order-4 {:type :sell :quantity 1 :price 102 :book.order/id 10} expt-book-4 {:buy [{:price 99 :quantity 8 :type :buy :book.order/id 8}] :sell [{:price 102 :quantity 1 :type :sell :book.order/id 10}]} - [book-1 _ _] (process-order-2 book order-1) - [book-2 _ _] (process-order-2 book-1 order-2) - [book-3 _ _] (process-order-2 book-2 order-3) - [book-4 _ _] (process-order-2 book-3 order-4)] + [book-1 _ _] (process-order book order-1) + [book-2 _ _] (process-order book-1 order-2) + [book-3 _ _] (process-order book-2 order-3) + [book-4 _ _] (process-order book-3 order-4)] book-4 => expt-book-4)))