take2 は https://github.com/haru01/log/blob/master/pattern_sheed.md
TDDを 初心者が熟練者になって、現場で実践していくコツを書いていきます。 すべて実施する必要はありません。上から順に実施する必要もありません。 現状の診断や、自分の状況に合いそうなものを複数ピックアップして、 ベイビーステップで個人やチームの学習と成長の物語を描く道具として使われることを想定しています。
まだ未完です。ガンガン変わっていきます。 :p
take2 は https://github.com/haru01/log/blob/master/pattern_sheed.md
TDDを 初心者が熟練者になって、現場で実践していくコツを書いていきます。 すべて実施する必要はありません。上から順に実施する必要もありません。 現状の診断や、自分の状況に合いそうなものを複数ピックアップして、 ベイビーステップで個人やチームの学習と成長の物語を描く道具として使われることを想定しています。
まだ未完です。ガンガン変わっていきます。 :p
let result = 0; | |
[1,2,3,4,5,6].forEach((n) => { | |
if (n % 2 === 0) { | |
result += n * n; | |
} | |
}); | |
console.log(result); |
const result = [1,2,3,4,5,6] | |
.filter(n => n % 2 === 0) | |
.map(n => n * n) | |
.reduce((a, b) => a + b, 0); | |
console.log(result); // (2*2) + (4*4) + (6*6) |
function generateReadReport(readList, recommendList) { | |
return renderPlainText(readList, recommendList); | |
} | |
function renderPlainText(readList, recommendList) { | |
let report = `name: ${readList.name}\n`; | |
report += '-----\n'; | |
for (let readBook of readList.books) { | |
if (readBook.times >= 1) { | |
report += ` - ${readBook.name}: ${point(readBook)} point\n`; |
// https://github.com/j5ik2o/ticket-price-modeling | |
// 解き方方針: 型で問題を解くよりも、料金表のように日本人の非エンジニアの人も読めて突っ込めるコード記述を目指す. | |
// 解き方方針: 配列でmap&sortの世界に引き込んで安い料金を選ぶようにする. | |
// 解いたのは "シネマシティズン" の場合だけ。 | |
// TODO 引数を型にして呼び出しに制約を設けるかはあとで考える。 | |
const movePayment = (ticketType, timeTypes) => { | |
var payments = | |
{"シネマシティズン": | |
{"平日〜20:00": 1000, |
interface Expression { | |
times(muptiplier: number): Expression; | |
plus(addend: Expression): Expression; | |
reduce(bank: Bank, to: string): Money | |
} | |
class Money implements Expression { | |
private _amount: number | |
private _currency: string |
function createReportData(readList, recommendList) { | |
const reportData = {}; | |
reportData.userName = readList.name; | |
reportData.readBooks = readList.books | |
.map(book => { | |
return {...book, point: point(book)}; | |
}); | |
reportData.total = total(reportData); | |
return reportData; |
const createReportData = require('./createReportData'); | |
function generateReadReport(readList, recommendList) { | |
const reportData = createReportData(readList, recommendList); | |
return renderPlainText(reportData); | |
} | |
function renderPlainText(reportData) { | |
let report = `name: ${reportData.userName}\n`; | |
report += '-----\n'; |
function generateReadReport(readList, recommendList) { | |
const reportData = createReportData(readList, recommendList); | |
return renderPlainText(reportData); | |
} | |
function createReportData(readList, recommendList) { | |
const reportData = {}; | |
reportData.userName = readList.name; | |
reportData.readBooks = readList.books | |
.map(book => { |