Day 1: Go言語の核心 - 評価基準
評価項目
チャレンジ1: 型システムの理解(30点)
| 項目 | 配点 | 評価基準 |
|---|---|---|
| 関数定義 | 10点 | int、float64、int64の3つの加算関数が正しく定義されている |
| 型安全性 | 10点 | 暗黙の型変換を使用していない |
| 動作確認 | 10点 | すべてのテストケースで正しい結果が得られる |
減点対象:
- 型アサーションの使用: -10点
- interface{}の使用: -5点
- コンパイルエラー: 0点
---
チャレンジ2: ポインタとメモリ効率(40点)
| 項目 | 配点 | 評価基準 |
|---|---|---|
| 構造体定義 | 10点 | 1000要素のint配列を持つ構造体が定義されている |
| 値渡し関数 | 10点 | 構造体を値で受け取る関数が実装されている |
| ポインタ渡し関数 | 10点 | 構造体をポインタで受け取る関数が実装されている |
| 計測実装 | 10点 | timeパッケージを使用して実行時間を正しく計測している |
ボーナス(+10点):
- 計測結果の分析と考察をコメントで記述している
- 可読性: コードが明確で理解しやすいか
- Go慣習: Goのコーディング規約に従っているか
- エラー処理: 適切にエラーを処理しているか(必要な場合)
- コメント: 複雑な処理に適切なコメントがあるか
---
チャレンジ3: スライスの内部理解(30点)
| 項目 | 配点 | 評価基準 |
|---|---|---|
| スライス初期化 | 5点 | 初期容量1でスライスが作成されている |
| append処理 | 10点 | 0〜19の値が正しくappendされている |
| 容量監視 | 10点 | 容量変更時に正しく検出・出力している |
| 最終出力 | 5点 | 最終的な長さと容量が出力されている |
---
総合評価
| 点数 | 評価 |
|---|---|
| 90-100点 | 優秀 - Goの型システムとメモリモデルを深く理解している |
| 70-89点 | 良好 - 基本的な概念を理解し、適切に実装できている |
| 50-69点 | 合格 - 最低限の要件を満たしている |
| 0-49点 | 要再提出 - 基礎的な理解に不足がある |
---