SlideShare a Scribd company logo
1 of 61
Download to read offline
名前付け入門
黝(@zakuro9715)
自己紹介
 黝(@zakuro9715)
 ANCT 都市システム工学科 2年3年
 ゲーム創作研究部部長
 Web系(Railsできません)・ゲームプログラミング・作曲・
デザイン・モデリング・その他手広くやってます
 Python3始めました
すきな言語
Python / Fortran / C# / Go言語
Ruby / Perl
FORTRAN
きらいな言語
やったこと
 JOI2013/2014本選(出ただけ)
 SuperCon2013本選(出ただけ)
 近畿高専総体3位(微妙)
やってること
 スカゼミで競技プログラミングと作曲の講師してます
 セキュリティスペシャリストの勉強
 C++ de ゲームプログラミング
 FORTRAN / Fortran
 ゲームプログラミング(C# + XNA / C# + Unity / Boo + Unity)
 Webバックエンド(Python + Django / Go言語)
できること
スカゼミに参加しよう(宣伝)
 一緒にすれば、なんだってできるSNS「スカゼミ」
 セミナーを開いて得意なことを教えたり、勉強したいことを
一緒に勉強したり
 メンバーは200名以上 様々な分野のプロも参加しています
 大手企業とも交渉中 お仕事を斡旋してもらえるかも
スカゼミ
アジェンダ
1.名前付けのスタイル
2.単語の選び方
3.まとめ
4.おまけ
Q. 名前なんてどうでもいいよ
動けばいいじゃん
A. 仰るとおりです
でも…
これでも名前がどうでもいいと言えますか
Button1.clicked += (sender, e) =>
{
label2.Text = textbox1.Text;
Button1.Text = “OK”;
}
1
2
3
4
5
名前も大事ですよね
名前も大事ですよね
はい
Yes
名前付けのスタイル
名前付けのスタイル
UpperCamel
lowerCamel
snake_case
SCREAMING_CASE
UpperCamel
 別名PascalCase
 単語の先頭を大文字にする
 メソッドやクラス、名前空間に使われることが多い
lowerCamel
 単にCamelCaseとも言う
 単語の先頭を大文字にするが、変数名の先頭だけは小文字
 変数名やメソッド名に使われることが多い。
snake_case
 アンダーバーが蛇っぽく見えるから?
 単語の間をアンダーバーで区切る
例
namespace NameSpace
{
class ClassName
{
int fieldName;
static const int constField = 0;
void MethodName(int localVar){}
}
}
1
2
3
4
5
6
7
8
9
例
namespace NameSpace
{
class ClassName
{
int fieldName;
static const int constField = 0;
void MethodName(int localVar){}
}
}
1
2
3
4
5
6
7
8
9
UpperCamel
例
namespace NameSpace
{
class ClassName
{
int fieldName;
static const int constField = 0;
void MethodName(int localVar){}
}
}
1
2
3
4
5
6
7
8
9
lowerCamel
UpperCamel
例
namespace nameSpace
{
class ClassName
{
int fieldName;
static const int constField = 0;
void methodName(int localVar){}
}
}
1
2
3
4
5
6
7
8
9
例
namespace nameSpace
{
class ClassName
{
int fieldName;
static const int constField = 0;
void methodName(int localVar){}
}
}
1
2
3
4
5
6
7
8
9
UpperCamel
例
namespace nameSpace
{
class ClassName
{
int fieldName;
static const int constField = 0;
void methodName(int localVar){}
}
}
1
2
3
4
5
6
7
8
9
lowerCamel
UpperCamel
例
namespace name_space
{
class class_name
{
int field_name;
static const int CONST_FIELD= 0;
void method_name(int local_var){}
}
}
1
2
3
4
5
6
7
8
9
例
namespace name_space
{
class class_name
{
int field_name;
static const int CONST_FIELD= 0;
void method_name(int local_var){}
}
}
1
2
3
4
5
6
7
8
9
snake_case
例
namespace name_space
{
class class_name
{
int field_name;
static const int CONST_FIELD= 0;
void method_name(int local_var){}
}
}
1
2
3
4
5
6
7
8
9
SCREAMING_SNAKE
snake_case
比較
パターン 例
UpperCamel(Pascal) AkashiKosen
lowerCamel akashiKosen
snake akashi_kosen
SCREAMING_SNAKE AKASHI_KOSEN
どれつかえばいいの?
どれつかえばいいの?
→なんでもOK!
ただし…
名前付けのスタイル
 基本的にはなんでもいいけれど、良くないスタイルもある
 定数・マクロ以外のSCREAMING_SNAKEとか
 見た目が気持ち悪くなければたぶんOK
言語仕様と名前付けのスタイル
 名前付けのフォーマットが言語仕様によって束縛される場合
がある
言語 例
Go 大文字から始まるとpublic
Python _から始まるとprivate
Ruby 大文字から始まると定数
単語の選び方
どんな値が入る変数か、わかりますか
double tmp = 0.0;1
ではこれならどうでしょう
double average(vector<int> data){
int tmp = 0;
for(auto d: data)
tmp += d;
return tmp / (double)data.size()
}
1
2
3
4
5
6
こうすればもっとよくなります
double average(vector<int> data){
int sum = 0;
for(auto d: data)
sum += d;
return sum / (double)data.size()
}
1
2
3
4
5
6
意味のない名前
 tmpなどの意味のない名前は使わないほうが良い
 特に、他に良い名前が見つからないから、という理由では使
わない
 使うなら、なぜ使うのか説明できるようにしよう
tmp
 tmpには使うべき時もある
 その変数が、一時的に値を保存するという意味しか持たない
場合はtmpを使うべき
tmp
 a, bという2つの変数の中身を入れ替える
tmp = a;
a = b;
b = tmp;
1
2
3
tmp
 この例だと、tmpはaの値を一時的に保存する、という役割
しか持たない。
 いつでもtmpを使って良いということではない。最初に上げ
た例のような場合は、もっと適切な名前がある
int tmp = 0;
for(auto d: data)
tmp += d;
return tmp / data.length();
1
2
3
4
ループカウンタ
 i, j, kなどは、一見意味のない言葉に見えるが、これらはルー
プカウンタである、という意味を持っている
 ただ、単純にI, jと使うのではなく、よりわかり易い名前をつ
けるべき
ループカウンタ
 aのループカウンタをai, bのループカウンタをbiとしている
 単純にi, jとつけるよりもよりわかりやすい
for(int ai = 0; ai < an; ai++)
{
for(int bi = 0; bi < bn; bi++)
{
// do something
}
}
1
2
3
4
5
6
7
メタ構文変数
 foo, barなどのメタ構文変数には、意味が無いという意味が
ある
 サンプルソースなどで、意味のないコードを書くときなどに
使う
Flag
 読みやすいのはどっち?
if(foo_flag)1
if(is_foo)1
名前と役割
 メソッド、フィールドなど、識別子の役割によってつけるべ
き名前も変化する
メソッド・関数
 メソッドは、何かをする
 名前は動詞から始めると良いことが多い
getter
 Getterのgetは自明なので省略してもよい
 Go言語ではgetを省略することが推奨されている
 省略するのを嫌う人もいるので注意
int GetNumber();1
int Number();1
CovertToString
 ToStringで意味はわかるので、Convertをつけるのは冗長
 多くの言語で、ToStringが採用されている。
string ConvertToString();1
string ToString();1
真偽値
 真偽値を表す変数・関数には、Yes(true) or No(False)で答え
られる名前をつけよう
bool running;1
bool is_running;1
bool run;1
真偽値
 真偽値を表す変数・関数には、Yes(true) or No(False)で答え
られる名前をつけよう
bool running;1
bool is_running;1
bool run;1
動名詞(実行すること)
→Yes or Noで答えられない
変数
 変数、フィールド、プロパティには状態を保存するもの
 名詞を使うようにしよう
まとめ
チームの規則に従う。以上
まとめ
 その名前を採用する積極的な理由を探そう
それ以外思いつかなかった、のような消極的な理由はダメ
 絶対OKなパターンはない。状況に応じて臨機応変に
おまけ
日本語識別子、使ってますか
日本語識別子 on Unity
public string 名前;
public string コメント;
public string Name
{
get { return 名前; }
set { 名前 = value; }
}
public string Comment
{
get { return コメント; }
set { コメント = value; }
}
1
2
3
4
5
6
7
8
9
10
11
12
public string 名前;
public string コメント;
public string Name
{
get { return 名前; }
set { 名前 = value; }
}
public string Comment
{
get { return コメント; }
set { コメント = value; }
}
1
2
3
4
5
6
7
8
9
10
11
12
エディタに表示される名前
public string 名前;
public string コメント;
public string Name
{
get { return 名前; }
set { 名前 = value; }
}
public string Comment
{
get { return コメント; }
set { コメント = value; }
}
1
2
3
4
5
6
7
8
9
10
11
12
エディタに表示される名前
コードからアクセスしやすいように
プロパティで隠蔽
デザイナーに優しいプログラミングを
ご静聴ありがとうございました

More Related Content

What's hot

実信号マザーウェーブレットを用いたスネア音の検出
実信号マザーウェーブレットを用いたスネア音の検出実信号マザーウェーブレットを用いたスネア音の検出
実信号マザーウェーブレットを用いたスネア音の検出toru tom
 
ちょっと詳しくJavaScript 特別編【そして伝説へ…】
ちょっと詳しくJavaScript 特別編【そして伝説へ…】ちょっと詳しくJavaScript 特別編【そして伝説へ…】
ちょっと詳しくJavaScript 特別編【そして伝説へ…】株式会社ランチェスター
 
Oscnagoya2021 python tokai
Oscnagoya2021 python tokaiOscnagoya2021 python tokai
Oscnagoya2021 python tokaizenichiichihara
 
Better C#の脱却を目指して
Better C#の脱却を目指してBetter C#の脱却を目指して
Better C#の脱却を目指してbleis tift
 
わんくま東京#32 「null ヤバイのでなんとかする」
わんくま東京#32 「null ヤバイのでなんとかする」わんくま東京#32 「null ヤバイのでなんとかする」
わんくま東京#32 「null ヤバイのでなんとかする」Takeshi Kiriya
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.kiki utagawa
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめcocu_628496
 
R+pythonでKAGGLEの2値予測に挑戦!
R+pythonでKAGGLEの2値予測に挑戦! R+pythonでKAGGLEの2値予測に挑戦!
R+pythonでKAGGLEの2値予測に挑戦! Yurie Oka
 
わかりやすい変数名をつけよう
わかりやすい変数名をつけようわかりやすい変数名をつけよう
わかりやすい変数名をつけようsuhe-doi
 
TSP and Geocoding on R
TSP and Geocoding on RTSP and Geocoding on R
TSP and Geocoding on Rsleipnir002
 
2009 11 13_osm-tokai
2009 11 13_osm-tokai2009 11 13_osm-tokai
2009 11 13_osm-tokaiTom Hayakawa
 
マスターオブゴールーチンアンドチャネル スタートGo #1
マスターオブゴールーチンアンドチャネル   スタートGo #1マスターオブゴールーチンアンドチャネル   スタートGo #1
マスターオブゴールーチンアンドチャネル スタートGo #1Takuya Ueda
 
Can A Python Go Beyond The Python
Can A Python Go Beyond The PythonCan A Python Go Beyond The Python
Can A Python Go Beyond The PythonYusuke Muraoka
 
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)Ryuichi Tokugami
 

What's hot (15)

C++の黒魔術
C++の黒魔術C++の黒魔術
C++の黒魔術
 
実信号マザーウェーブレットを用いたスネア音の検出
実信号マザーウェーブレットを用いたスネア音の検出実信号マザーウェーブレットを用いたスネア音の検出
実信号マザーウェーブレットを用いたスネア音の検出
 
ちょっと詳しくJavaScript 特別編【そして伝説へ…】
ちょっと詳しくJavaScript 特別編【そして伝説へ…】ちょっと詳しくJavaScript 特別編【そして伝説へ…】
ちょっと詳しくJavaScript 特別編【そして伝説へ…】
 
Oscnagoya2021 python tokai
Oscnagoya2021 python tokaiOscnagoya2021 python tokai
Oscnagoya2021 python tokai
 
Better C#の脱却を目指して
Better C#の脱却を目指してBetter C#の脱却を目指して
Better C#の脱却を目指して
 
わんくま東京#32 「null ヤバイのでなんとかする」
わんくま東京#32 「null ヤバイのでなんとかする」わんくま東京#32 「null ヤバイのでなんとかする」
わんくま東京#32 「null ヤバイのでなんとかする」
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめ
 
R+pythonでKAGGLEの2値予測に挑戦!
R+pythonでKAGGLEの2値予測に挑戦! R+pythonでKAGGLEの2値予測に挑戦!
R+pythonでKAGGLEの2値予測に挑戦!
 
わかりやすい変数名をつけよう
わかりやすい変数名をつけようわかりやすい変数名をつけよう
わかりやすい変数名をつけよう
 
TSP and Geocoding on R
TSP and Geocoding on RTSP and Geocoding on R
TSP and Geocoding on R
 
2009 11 13_osm-tokai
2009 11 13_osm-tokai2009 11 13_osm-tokai
2009 11 13_osm-tokai
 
マスターオブゴールーチンアンドチャネル スタートGo #1
マスターオブゴールーチンアンドチャネル   スタートGo #1マスターオブゴールーチンアンドチャネル   スタートGo #1
マスターオブゴールーチンアンドチャネル スタートGo #1
 
Can A Python Go Beyond The Python
Can A Python Go Beyond The PythonCan A Python Go Beyond The Python
Can A Python Go Beyond The Python
 
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
CloudSearch初披露 (2012-05-18 JAWS-UG 札幌 第6回 勉強会)
 

Viewers also liked

SVG と D3.js でちょっとリッチなデータ可視化
SVG と D3.js でちょっとリッチなデータ可視化SVG と D3.js でちょっとリッチなデータ可視化
SVG と D3.js でちょっとリッチなデータ可視化Yuki Matsuda
 
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1Yoshihiro Wada
 
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」Fumihito Yokoyama
 
20150301 iko mama papaアプリ開発提案プロジェクト ハッカソン
20150301 iko mama papaアプリ開発提案プロジェクト ハッカソン20150301 iko mama papaアプリ開発提案プロジェクト ハッカソン
20150301 iko mama papaアプリ開発提案プロジェクト ハッカソンTakuya Sato
 
20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)
20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)
20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)Takuya Sato
 
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介Takuya Sato
 
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜Takuya Sato
 
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップTakuya Sato
 
CODE for IKOMAと生駒市の協働プロジェクト
CODE for IKOMAと生駒市の協働プロジェクトCODE for IKOMAと生駒市の協働プロジェクト
CODE for IKOMAと生駒市の協働プロジェクトTakuya Sato
 
20150211 子育てアプリアイデアワークショップ・インターナショナルオープンデータデイ in 生駒 ご紹介
20150211 子育てアプリアイデアワークショップ・インターナショナルオープンデータデイ in 生駒 ご紹介20150211 子育てアプリアイデアワークショップ・インターナショナルオープンデータデイ in 生駒 ご紹介
20150211 子育てアプリアイデアワークショップ・インターナショナルオープンデータデイ in 生駒 ご紹介Takuya Sato
 
OSS についてあれこれ
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれTakuto Wada
 

Viewers also liked (12)

SVG と D3.js でちょっとリッチなデータ可視化
SVG と D3.js でちょっとリッチなデータ可視化SVG と D3.js でちょっとリッチなデータ可視化
SVG と D3.js でちょっとリッチなデータ可視化
 
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
 
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
 
20150301 iko mama papaアプリ開発提案プロジェクト ハッカソン
20150301 iko mama papaアプリ開発提案プロジェクト ハッカソン20150301 iko mama papaアプリ開発提案プロジェクト ハッカソン
20150301 iko mama papaアプリ開発提案プロジェクト ハッカソン
 
20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)
20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)
20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)
 
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
 
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
 
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
 
CODE for IKOMAと生駒市の協働プロジェクト
CODE for IKOMAと生駒市の協働プロジェクトCODE for IKOMAと生駒市の協働プロジェクト
CODE for IKOMAと生駒市の協働プロジェクト
 
20150211 子育てアプリアイデアワークショップ・インターナショナルオープンデータデイ in 生駒 ご紹介
20150211 子育てアプリアイデアワークショップ・インターナショナルオープンデータデイ in 生駒 ご紹介20150211 子育てアプリアイデアワークショップ・インターナショナルオープンデータデイ in 生駒 ご紹介
20150211 子育てアプリアイデアワークショップ・インターナショナルオープンデータデイ in 生駒 ご紹介
 
特盛!Heroku
特盛!Heroku特盛!Heroku
特盛!Heroku
 
OSS についてあれこれ
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれ
 

Similar to 名前付け入門

Tremaとtrema edgeの違い
Tremaとtrema edgeの違いTremaとtrema edgeの違い
Tremaとtrema edgeの違いhiroshi oshiba
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~CHY72
 
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料真一 北原
 
Rustのタスクモデルについて
RustのタスクモデルについてRustのタスクモデルについて
Rustのタスクモデルについてzigen
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編道化師 堂華
 
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」Hiro H.
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talkmitamex4u
 
Should we write such like plugin or not?
Should we write such like plugin or not?Should we write such like plugin or not?
Should we write such like plugin or not?SATOSHI TAGOMORI
 
スペル修正プログラムの作り方 #pronama
スペル修正プログラムの作り方 #pronamaスペル修正プログラムの作り方 #pronama
スペル修正プログラムの作り方 #pronamaHiroyoshi Komatsu
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
プログラミング作法
プログラミング作法プログラミング作法
プログラミング作法Kota Uchida
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるHideyuki Tanaka
 
El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613RCCSRENKEI
 
関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザーIchiro Maruta
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perlJiro Nishiguchi
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会Akihiko Matuura
 
プログラミング学習のための学習
プログラミング学習のための学習プログラミング学習のための学習
プログラミング学習のための学習siranon *
 
Playing with curses
Playing with cursesPlaying with curses
Playing with cursesRansui Iso
 

Similar to 名前付け入門 (20)

Tremaとtrema edgeの違い
Tremaとtrema edgeの違いTremaとtrema edgeの違い
Tremaとtrema edgeの違い
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
 
T4使ってみた
T4使ってみたT4使ってみた
T4使ってみた
 
CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎
 
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料
 
Rustのタスクモデルについて
RustのタスクモデルについてRustのタスクモデルについて
Rustのタスクモデルについて
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
 
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 
Should we write such like plugin or not?
Should we write such like plugin or not?Should we write such like plugin or not?
Should we write such like plugin or not?
 
スペル修正プログラムの作り方 #pronama
スペル修正プログラムの作り方 #pronamaスペル修正プログラムの作り方 #pronama
スペル修正プログラムの作り方 #pronama
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
プログラミング作法
プログラミング作法プログラミング作法
プログラミング作法
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
 
El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613
 
関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perl
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会
 
プログラミング学習のための学習
プログラミング学習のための学習プログラミング学習のための学習
プログラミング学習のための学習
 
Playing with curses
Playing with cursesPlaying with curses
Playing with curses
 

名前付け入門