U E D R , A S I H C RSS

The Trip/Leonardong

๊ฐ ์—ฌํ–‰์ž๊ฐ€ 1์„ผํŠธ๊นŒ์ง€ ์ชผ๊ฐœ์„œ ๋‚˜์›Œ ๊ฐ€์ง„๋‹ค๊ณ  ์ƒ๊ฐํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

~cpp 
class Exchanger:
    def getListOfBiggerThan(self, aMean, aList):
        resultList = []
        for each in aList:
            if each > aMean:
                resultList.append(each)
        return resultList
    def getMeanOfList(self, aList):
        return sum(aList, 0) / len(aList)
    def offerAShareOfMoney(self, aExpenses):
        expensesBiggerThanMean = self.getListOfBiggerThan(
                                    self.getMeanOfList(aExpenses),
                                    aExpenses)
        result = 0.0
        for each in expensesBiggerThanMean:
            result = result + abs( each - self.getMeanOfList(aExpenses) )
        return result
#########################################################################           
import unittest

class TheTripTestCase(unittest.TestCase):
    def setUp(self):
        self.ex = Exchanger()
    def testGetListOfBiggerThan(self):
        expenses = [0.0, 1.0, 2.0, 3.0]
        mean = self.ex.getMeanOfList(expenses) # mean is 1.5
        expected = expenses[2:]
        self.assertEquals( expected,
                           self.ex.getListOfBiggerThan( mean, expenses ))
    def testOfferAShareOfMoney(self):
        self.assertEquals( 10.0,
                           self.ex.offerAShareOfMoney( [10.0, 20.0, 30.0] ))
        self.assertEquals( 11.99,
                   self.ex.offerAShareOfMoney( [15.0, 15.01, 3.0, 3.01] ))

#########################################################################
if __name__ == '__main__': 
    unittest.main()   

Thread

์ผ๋‹จ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด 20๋ถ„ ์ •๋„ ๊ฑธ๋ ธ๋‹ค. ๋ฌธ์ œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•„๋ณด๋˜ ์ค‘ ํ‰๊ท ๋ณด๋‹ค ๋งŽ์ด ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค์ด ๋ˆ์„ ๋‚˜๋ˆ„์–ด ์ฃผ๋ฉด ๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ซ๊ธฐ๊นŒ์ง€ 14๋ถ„ ๊ฑธ๋ ธ๋‹ค. ์ฝ”๋“œ๋กœ ๋งŒ๋“œ๋Š”๋ฐ๋Š” 41๋ถ„์ด ๊ฑธ๋ ธ๋Š”๋ฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋”ฐ๋ผ ๋ฌด๋‚œํžˆ ์ž‘์„ฑํ•˜์˜€๋‹ค. ๋‚˜๋จธ์ง€ ์‹œ๊ฐ„์€ ๋ฌธ๋ฒ•์„ ๋ณด๊ฑฐ๋‚˜ ๋””๋ฒ„๊น…ํ–ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์ „์— ์ƒ˜ํ”Œ ์ž…๋ ฅ๋ถ€ํ„ฐ ๋ณด๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ดํ•ด ๋ชปํ–ˆ์œผ๋ฏ€๋กœ ์ƒ˜ํ”Œ ์ž…๋ ฅ์„ ๋ณด๋‹ค๊ฐ€ ๊ฒฐ๊ตญ ๋‹ค์‹œ ๋ฌธ์ œ๋ฅผ ๋ณด๋А๋ผ ์‹œ๊ฐ„์ด ์ง€์ฒด๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฌธ์ œ๋ฅผ ๋‹ค ์ดํ•ดํ•˜๊ณ , ์ •์˜ํ•œ ๋’ค ์ƒ˜ํ”Œ ์ž…๋ ฅ์„ ๋ณด์•„ ์ •์˜๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ˆœ์„œ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ๊ฒ ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ๋ฌธ์ œ๋ฅผ ์ •์˜ํ•œ ๋‹ค์Œ์— ๋– ์˜ฌ๋ฆฐ๋‹ค.

๋ฌด์—‡์ด ์ž˜๋ชป ๋˜์–ด๋„ ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณธ๋‹ค๋Š” ์ ์€ ์—ญ์‹œ๋‚˜ TDD๊ฐ€ ๋งค๋ ฅ์ ์ผ ์ˆ˜ ๋ฐ–์— ์—†๋Š” ์š”์ธ์ด๋‹ค. ์ด์ œ๋Š” ์†์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋ ค๋ฉด ๋„ˆ๋ฌด ๊ท€์ฐฎ๊ณ  ์‹œ๊ฐ„๋‚ญ๋น„๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. TDD ๋ฆฌ๋“ฌ์„ ์กฐ์ ˆํ•ด์ค„ ํŒŒํŠธ๋„ˆ๊ฐ€ ์˜†์— ์žˆ๋‹ค๋ฉด ๋”์šฑ ์ข‹์œผ๋ จ๋งŒ. :) --Leonardong

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:13
Processing time 0.0038 sec