東方算程譚

Oriental Code Talk ── επιστημηが与太をこく、弾幕とは無縁のシロモノ。

目次

Blog 利用状況

ニュース

著作とお薦めの品々は

著作とお薦めの品々は
東方熱帯林へ。

あわせて読みたい

わんくま

  1. 東京勉強会#2
    C++/CLI カクテル・レシピ
  2. 東京勉強会#3
    template vs. generics
  3. 大阪勉強会#6
    C++むかしばなし
  4. 東京勉強会#7
    C++むかしばなし
  5. 東京勉強会#8
    STL/CLRによるGeneric Programming
  6. TechEd 2007 @YOKOHAMA
    C++・C++/CLI・C# 適材適所
  7. 東京勉強会#14
    Making of BOF
  8. 東京勉強会#15
    状態遷移
  9. 名古屋勉強会#2
    WinUnit - お気楽お手軽UnitTest

CodeZine

  1. Cで実現する「ぷちオブジェクト指向」
  2. CUnitによるテスト駆動開発
  3. SQLiteで組み込みDB体験(2007年版)
  4. C++/CLIによるCライブラリの.NET化
  5. C# 1.1からC# 3.0まで~言語仕様の進化
  6. BoostでC++0xのライブラリ「TR1」を先取りしよう (1)
  7. BoostでC++0xのライブラリ「TR1」を先取りしよう (2)
  8. BoostでC++0xのライブラリ「TR1」を先取りしよう (3)
  9. BoostでC++0xのライブラリ「TR1」を先取りしよう (4)
  10. BoostでC++0xのライブラリ「TR1」を先取りしよう (5)
  11. C/C++に対応した、もうひとつのUnitTestFramework ─ WinUnit
  12. SQLiteで"おこづかいちょう"
  13. STL/CLRツアーガイド
  14. マージ・ソート : 巨大データのソート法
  15. ヒープソートのアルゴリズム
  16. C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
  17. .NETでマンデルブロ集合を描く
  18. .NETでマンデルブロ集合を描く(後日談)
  19. C++/CLI : とある文字列の相互変換(コンバージョン)
  20. インテルTBBによる選択ソートの高速化
  21. インテルTBB3.0 によるパイプライン処理
  22. Visual C++ 2010に追加されたSTLアルゴリズム
  23. Visual C++ 2010に追加されたSTLコンテナ「forward_list」
  24. shared_ptrによるObserverパターンの実装
  25. .NETでマンデルブロ集合を描く(番外編) ── OpenCLで超並列コンピューティング
  26. StateパターンでCSVを読む
  27. 状態遷移表からStateパターンを自動生成する
  28. 「ソートも、サーチも、あるんだよ」~標準C++ライブラリにみるアルゴリズムの面白さ
  29. インテルTBBの同期メカニズム
  30. なぜsetを使っちゃいけないの?
  31. WPFアプリケーションで腕試し ~C++でもWPFアプリを
  32. C++11 : スレッド・ライブラリひとめぐり
  33. Google製のC++ Unit Test Framework「Google Test」を使ってみる
  34. メールでデータベースを更新するココロミ
  35. Visitorパターンで遊んでみたよ
  36. Collection 2題:「WPFにバインドできる辞書」と「重複を許す検索set」
  37. Visual C++ 2012:stateless-lambdaとSQLiteのぷち拡張
  38. 「Visual C++ Compiler November 2012 CTP」で追加された6つの新機能

@IT

  1. Vista時代のVisual C++の流儀(前編)Vista到来。既存C/C++資産の.NET化を始めよう!
  2. Vista時代のVisual C++の流儀(中編)MFCから.NETへの実践的移行計画
  3. Vista時代のVisual C++の流儀(後編) STL/CLRによるDocument/Viewアーキテクチャ
  4. C++開発者のための単体テスト入門 第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?
  5. C++開発者のための単体テスト入門 第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)
  6. C++開発者のための単体テスト入門 第3回 C++アプリケーションの効率的なテスト手法(NUnit編)

AWARDS


Microsoft MVP
for Visual Developer - Visual C++


Wankuma MVP
for いぢわる C++


Nyantora MVP
for こくまろ中国茶

Xbox

Links

記事カテゴリ

書庫

日記カテゴリ

可読性ねぇ...

ネタ元 → ゆとり

[問題] a ≠ b なら true, さもなくば false を引数として
    関数 int f(bool) を呼び、結果を c にセットしなさい。

// [1]
bool arg;
if ( a != b ) {
  arg = true;
} else {
  arg = false;
}
c = f(arg);

// [2]
if ( a != b ) {
  c = f(true);
} else {
  c = f(false);
}

// [3]
c = ( a != b ) ? f(true) : f(false);

// [4]
c = f( ( a != b ) ? true: false);

// [5]
c = f( a != b );

可読性って難しいよね。読み手に依存しますもん。

で、僕は迷わず[5]です。
"式 a != b の評価値を関数fに与え、結果をcへ"
って読めるやん。
僕にとって最も可読性に優れているのは[5]なんですわ。

コードは誰にでもわかるように書きましょう
それに異論を唱えるつもりはないけども、
"誰にでも"てぇのは
"基本的な言語仕様もあやふやな似非プログラマにも"
意味しちゃいないと信じたいんだ。

...理想論か?
"大工は釘が打てるべし"が理想論か?
大工は釘が打てるのがアタリマエちゃうか?
釘が打てない大工を想定して図面引かにゃならんのか?
それと同じこっちゃないのか!?

チームは烏合の衆ではないし、烏合の衆あってはならんし、
烏合の衆であることを認めては/許してはならんだろ!?
ましてや数羽の烏のために全員揃って烏合の衆に変じちゃダメだろ!

投稿日時 : 2007年10月19日 14:21

コメントを追加

# re: 可読性ねぇ... 2007/10/19 14:31 NAO

まさにこんな感じ。

でもって…メンバーには
[1]
な人も居れば
[5]
な人も居たりして…

私的にも[5]なんだけれども…
[5]的に書くと誰でも解る様に[1]の様にかかんかい!
お前が居なくなったらどうするんだ

と言われてみたり。

>>"基本的な言語仕様もあやふやな似非プログラマにも"
>>を意味しちゃいないと信じたいんだ。
だとは思うんだけれども。

>>...理想論か?
なんですよねぇ…

>>釘が打てない大工を想定して図面引かにゃならんのか?
え~と…手順書なんかまさにこれで。
私的には
「この程度のスキルを持ってる人じゃなきゃやっちゃいかんでしょ~」
と言う人を想定して書くと
「誰でも解る様に書けやゴルァ」と文句を言われる訳で。

そもそもそんな人間をアサインするなと言いたいのだけれども…




それと同じこっちゃないのか!?

# re: 可読性ねぇ... 2007/10/19 14:36 NAO

例えばLinuxで何かの設定ファイルを編集する為に
viを使ったりする場合でも。

私の想定レベルは

viで編集して

だけれども。

Linuxって何?って言う人も居る訳で…
(それぐらい勉強しろやゴルァ)と言いたい

そう言う人にviを使って設定ファイルを編集させる訳で…orz

# re: 可読性ねぇ... 2007/10/19 14:45 επιστημη

[5]的に書いても誰でも解る様にキョーイクしとかんかい!
俺が居なくなったらどうするんだ

と切り返してみるテスト。

# re: 可読性ねぇ... 2007/10/19 14:50 NAO

>>と切り返してみるテスト。
噴いた(www

と言う事でさらに切り返しで

コーディングルールが決まってないんだから誰でも解る様に[1]の様にかかんかい!
誰でも解る様にしてない方が悪いんだ。

と言われたらどうすれば良いか聞いてみるテスト

#鶏が先か玉子が先か論争になるので、これでF/A(w

# re: 可読性ねぇ... 2007/10/19 14:56 επιστημη

言語仕様もあやふやな奴らがコーディングルール云々たぁ百年早いわ。
闇雲に従うのがコーディングルールか? アホか。
その真意を理解し納得(あるいは妥協)した上で従うもんだろが。

と喧嘩売ってみるテスト。

# re: 可読性ねぇ... 2007/10/19 15:06 裏口

>言語仕様もあやふやな奴らがコーディングルール云々たぁ百年早いわ。

こう言いきれる方、少ない。
# 宗匠が言うと重みがあるけど、それなりの人じゃ・・・。

# re: 可読性ねぇ... 2007/10/19 15:16 επιστημη

とはいえ完璧を期待しちゃいませんですよ。
僕だってあやふやなとこイパーイあります。

けどさ、演算子の評価順序くらい知ってろよ、と。
そのややこしさを知ってるからこそ、適切にカッコでくるむんちゃうか、と。たとえばね。

コーディングルールはぶっちゃけ"バカ避け"が目的です。
けども決して"バカ隠し"であっちゃならん思うます。

# re: 可読性ねぇ... 2007/10/19 15:23 凪瀬

白文がツライというならレ点は振るけど、書き下し文にはしない。

プログラマはプログラム書くのが仕事なんだから、分かるようになれでいいと思う。
「何言ってんだ!俺はコーダだ!そんな勉強をするいわれはない!」
と主張するならいっそすがすがしい。でもクビ。

# re: 可読性ねぇ... 2007/10/19 15:28 R・田中一郎

僕も迷わず 5 ですね。
1~4は、バグを含む可能性が高そうに思います。
5は単なる式です。

単なる式は理解できなければならないし、それを習得することに何の問題もないです。

だって単なる式だもの。

# re: 可読性ねぇ... 2007/10/19 15:37 とっちゃん

#あぅ~おいしい時間取り逃がしたw

おいらだったらどっちだろう...

うーん...お題的には5で書きそうな気がするけど...
4かなぁ?

普段(たいていは bool じゃないから仕方ないんだがw)は
Func( ( 式 ) ? defA : defB );
というほうが圧倒的多数なので...w

# re: 可読性ねぇ... 2007/10/19 15:38 けろ

ケース by ケースですかね。

a と b の名前が長いと[1] です。
でもできるだけ、[5] で書きたいですね!

# でも、たまに[3]を使ってしまう癖があります...orz

# re: 可読性ねぇ... 2007/10/19 15:40 επιστημη

> 白文がツライというならレ点は振るけど、書き下し文にはしない。

うまいことゆー。
ここで書き下し文を認めるといつまでたっても
白文が読めるようにはなりません。

# re: 可読性ねぇ... 2007/10/19 15:42 NAO

>>言語仕様もあやふやな奴らがコーディングルール云々たぁ百年早いわ。
言った所で勉強しない人間はそれすら理解しない。

>>けどさ、演算子の評価順序くらい知ってろよ、と
知ってるのは実際開発している人間の半分位じゃ?(マジレス)

>>けども決して"バカ隠し"であっちゃならん思うます。
バカ避けが目的なんだけど、実体はバカ隠しになってる
(要するにルールに従ってれば良いから、理解しようとしている人間とそうでない人間が区別付かなくなる)

>>白文がツライというならレ点は振るけど、書き下し文にはしない。
言いたいけど、言いたいけど、言いたいけど…(以下エンドレス)

>>プログラマはプログラム書くのが仕事なんだから、分かるようになれでいいと思う。
この理論は賛成なんだけれども……(以下エンドレス)

>>単なる式は理解できなければならないし、それを習得することに何の問題もないです。
問題が有るかどうかではなく、問題と理解するかどうかが…orz

# re: 可読性ねぇ... 2007/10/19 15:46 のん

ちょっと・・・最初のコメントにハラハラしてたのは内緒です。。。

で、本題ですが、私だったら5で書きそうです。

# re: 可読性ねぇ... 2007/10/19 15:48 NAO

>>ちょっと・・・最初のコメントにハラハラしてたのは内緒です。。。

私のコメントの
「それと同じこっちゃないのか!? 」
は消し忘れです(www

#たぶんεπιστημηさんは気付いていたと思うと言ってみるテスト

# re: 可読性ねぇ... 2007/10/19 15:49 のん

>こう言いきれる方、少ない。
私もそう思った。このエントリ見れてよかったと思った。

# re: 可読性ねぇ... 2007/10/19 16:07 ddnp

[1]とか[2]を理解するのは、脳味噌のコストが[5]の数倍掛かりますにょ。
意図(ソースの声ともいう)が不明瞭になると思うんです。[1]-[4]ね。

「誰でも(わかる)」って。。。一体どんだけーwww

# re: 可読性ねぇ... 2007/10/19 16:09 のん

あ!!だだんぽさん
お久しぶりです(ノ´∀`*)
#えぴさんブログからこんにちは

# re: 可読性ねぇ... 2007/10/19 16:10 NAO

ぶっちゃけ私は組み込みの開発をやっていた訳で、(過去形)
そうすると[1]~[4]みたいな冗長なコードは書けないんですよ…メモリを食うから。
なので[5]な書き方の方が私的には標準。

尤も後で誰が見ても解る様にコメント文を大量に書きますが
(コメント文はコンパイルすると除外されるから)

そうしておかないと何時までもそれに縛られるんだもん。
なのでPC上の開発だとそこまで最適化する必要も無いので

相手のスキルによって[2]~[4]のどれかに落ち着きますね。
その辺りはTPOで判断してます。
(コーディングルールが有る場合を除く)

理想的には上で書いた様に[5]

# re: 可読性ねぇ... 2007/10/19 16:12 επιστημη

>> けども決して"バカ隠し"であっちゃならん思うます。
> バカ避けが目的なんだけど、実体はバカ隠しになってる
> (要するにルールに従ってれば良いから、理解しようとしている人間とそうでない人間が区別付かなくなる)

なのよねー
お利口さんがうっかりやらかすバカを避けるのが目的であって、
元々のバカを隠して取り繕っちゃならんですよホント。

# 本日επιちゃん吼えてます きしゃあぁぁぁ

# re: 可読性ねぇ... 2007/10/19 16:32 επιστημη

>> けどさ、演算子の評価順序くらい知ってろよ、と
> 知ってるのは実際開発している人間の半分位じゃ?(マジレス)

淀みなく諳んじろとは言わんから、どの本のドコに書いてあるかくらい知っとけ、と。
あるいはその場でちょこちょこっとお試しコード書いて検証しろ、と。
お試しコード書けるくらいのスキルは磨いとけ、と。
それすらもよぉできん奴らをプロジェクトに突っ込んでくれるな、と。

↑最後の一行だけが理想論。 きしゃあぁぁぁ

# re: 可読性ねぇ... 2007/10/19 16:40 とっちゃん

演算子の評価順を完璧にしってる必要はないでしょうけど

四則演算とか論理演算の優先順位くらい知らないと
C/C++ じゃコード書けねーっすよ。

なので、プロジェクトに突っ込む以前の問題だと...w

今思った。
コーディングルールに、「アセンブラレベルで冗長なコードにならないこと。」
という一文を設ければ、万事解決するとw<おい!

# re: 可読性ねぇ... 2007/10/19 16:45 けろ

>最後の一行だけが理想論

本当です。今、これが切実な思いです

# re: 可読性ねぇ... 2007/10/19 16:46 まさる

私の場合も[5]ですかねぇ。

[1.5]として

bool arg = (a != b);
c = f(arg)

ってのもなんとなく使ってる気がします。

# 可読性・・・ですよね。 2007/10/19 16:46 とりこびと ぶろぐ。

可読性・・・ですよね。

# re: 可読性ねぇ... 2007/10/19 16:48 まさる

あ、最近仕事でVBばっかだから「;」忘れたデス。

# re: 可読性ねぇ... 2007/10/19 16:48 NAO

究極の関数ではこんな物作った事もあります(^_^;)

unsigned int func(unsigned int a,unsigned int b)
{
return(func1( a != b ));
}

#え、意味あるのか?って…
#もうこれ以上共通化出来る関数が無い!って時に
#同じ事やってる1行が5~6箇所存在する物を強引に関数化して
#最後の数バイトを削る際の究極の手段です
#実際これで減るので(www

# re: 可読性ねぇ... 2007/10/19 16:54 774RR

> 強引に関数化して
関数化させてサブルーチンコールの前後のpush/popを生成させるよりも
マクロ化して最適化させたほうが小さくなった経験あり

インライン関数化は他のところが増えたりして両刃の件

# re: 可読性ねぇ... 2007/10/19 17:02 刈歩 菜良

すっかりのりおくれ~。

> けどさ、演算子の評価順序くらい知ってろよ、と。
> そのややこしさを知ってるからこそ、適切にカッコでくるむんちゃうか、と。たとえばね。

K&R ではいかにシンプルに書くか、評価順序をしっかり理解して、無駄なかっこなしに書くかってのがよしとされていたような気がします。

でも、その文化が未だ残ってるのがNAOさんのおっしゃるように組み込み系で、PC上のアプリを組むうえでは、可読性第一になっちゃいましたね。

# そういうとこ気にしながらコード書くって、パズルチックで面白いんですが...

なので、基本的に初心者相手の私は、評価順序は四則演算だけで、あとはわかりやすいようにかっこつけましょーですね。

# re: 可読性ねぇ... 2007/10/19 17:04 中博俊

微妙にいろんなエッセンスが混じってて、議論は拡散し気味。
私にとって1~5はどうでもいいので、ケースバイケースだし全部読めて当然なので、これで文句がでるやつは再教育かクビ。w

ま、冗談はさておき実際にif文ならおそらく1をとります。
最近は出来るだけきわめて冗長に書くようにしています。
理由は明確でdiffしやすくするため。
とはいえワンライナーへの憧憬もあるのですがね。

私のソースを見たことのある人は冗長さについては理解いただけることかと。

# 可読性・・・ですよね。 2007/10/19 17:17 とりこびと ぶろぐ。

可読性・・・ですよね。

# re: 可読性ねぇ... 2007/10/19 17:17 επιστημη

ですです。
どれでもえぇんよ、[1]でも[5]でも。ただ、
"[N]しかわからん"は勘弁してやぁ、と。
"[N]しかわからん"を許さんといてやぁ、と。

むかしのコンパイラは素直っちゅーか気が利かんっちゅーか、
ソースそのまんまストレートに機械語逐一訳しあそばしやがったんで
如何に速くコンパクトな機械語を吐かすかはソース書き手の腕次第っしたねー

いまじゃおそらく[1]でも[5]でも大した差はねーかもですね。

# 数羽の烏のために烏合の衆にならない方法 2007/10/19 17:25 まさるblog

数羽の烏のために烏合の衆にならない方法

# re: 可読性ねぇ... 2007/10/19 18:02 かつのり

打ち合わせから帰ってきました。
なんか随分盛り上がってますね。
自分も当然[5]です。

>言語仕様もあやふやな奴らがコーディングルール云々たぁ百年早いわ。
>闇雲に従うのがコーディングルールか? アホか。
>その真意を理解し納得(あるいは妥協)した上で従うもんだろが。

激しく同意。「メソッド内で生成したインスタンスは、
メソッドの最後でnullを代入すること。」とか書いてあるのを昔見たんですよ。
確実に解放されるため。とか書いてあったんですが、アホかと。

# re: 可読性ねぇ... 2007/10/19 21:35 επιστημη

なになに、nullぶっこみゃガベコレさんが
骨拾いに来てくれるってか。
そーゆー輩がコーディングルール云々たぁ
一万年と二千年前から(ここで弾幕!)

# re: 可読性ねぇ... 2007/10/19 21:51 ながせ

>nullぶっこみゃガベコレさんが骨拾いに来てくれるってか。

うひー(><;
まぁ、gcっていうもの自体が裏で何が起こっているかわからなくてもよしとしても、ルールに涙が出てきた。

…弾幕はぜひ桜符でよろしくおねがいしますっ!

# re: 可読性ねぇ... 2007/10/19 22:04 Jitta

おいしいところ逃がしたけど、1.4 で
arg = (a != b);
c = f(arg);

# re: 可読性ねぇ... 2007/10/19 22:22 επιστημη

[1.4] は落としドコロとしちゃぁイケてますわね。
ただ、ここまで来たんなら c = f(a != b) まで半歩もないのよねー

a != b ぢゃなくて
veryComplicateFun(a) != anotherComplicateFun(b)
だったら [1.4] で抑えておくかなー

# re: 可読性ねぇ... 2007/10/20 0:55 片桐

あの、、、[5]なんですけど、

' a=bならfase a<>bならtrue をセット
c = ( a <> b )

なんで、[6]?

私は「なんで?fいらんやん。可読性?コメントいれといたらええやん。わからんのやったらがんばって理解しいやぁ」となる人(爆死)
[1]から書いていって、どんどん気がついたところをいぢって、こうなって、最終ロジックはこうなっちゃうし、わかんないヒヨコのためにコメントは入れとく。後々盗んでくれるような逸材が出ることを祈って(笑)

ここでいうfは、共通関数なのかなぁ?とすると

protected function f as boolean
' a=bならfase a<>bならtrue をセット
 return (a <> b)
end function

c = f()
d = f()

になるVB脳(笑)

# re: 可読性ねぇ... 2007/10/20 1:14 Mr.T

Mr.Tです、こんにちは。
基本は1かなぁ。
ステップで追うときに、ifは楽だから。

# re: 可読性ねぇ... 2007/10/20 2:18 ゆーち

激しく出遅れたようなキガス(w

NAOさんも書いてましたが・・・

一度でも組み込みやったら・・・(つか、ちょっとでも中身を勉強しちゃったら)、[5]以外のコードは書けなくなるとしか思えないです。

仕事は、まず「動けばいい」を作らせることが大事だけど、終着点がどこにあるかを示さなければならないとおもうです。

[1]~[4]の選択肢は、あちきには許容範囲外です。
スタッフが書いていたら、ボツにします。

可読性ね・・・
確かに落ちているとは思うけど、安心できるはずのライブラリやAPIを呼び出しているコードよりはるかに安全だとわかるまでの時間は少ないと思います。

んー・・・間違っているんでしょうか・・・
時代が変わってしまったんでしょうかね・・・

# re: 可読性ねぇ... 2007/10/20 2:38 渋木宏明(ひどり)

組み込みとかあまり関係なくても断然 [5] だと思います。

「問題」をそのままコード化しようとする時点で×です。

「問題」を分析して、それが実際にはどういう意味や効果を持っているのかを吟味して、必要なら「問題」を変形してからコードに落とさなくちゃダメだと思う。

数学でもそうだし。

# re: 可読性ねぇ... 2007/10/20 9:41 ひろえむ

すっかり気を逸してしまいましたorz

んー、ぶっちゃけこれだけでコーディングを判断するのは難しい気がしますねー。

ちなみに今回のケースでは[5]でしょうか。

コーディングとして読みづらい読みやすいという次元ではないように思います(^^;

そこに問題があって、その問題と解を表現しているものでないといけないですねー(^^;

# re: 可読性ねぇ... 2007/10/20 9:49 ひろえむ

うわ、間違えてENTER押してもた(^^;

言いたかったことは、文法がわからんというのは議題にはそぐわない気がしますね(^^; 

それで飯食うならそれくらいは調べるなり覚えるなりしておいてもらわないと(^^;

そこが足かせになっているのは今回の議題以前ですね(^^;

コーディングとしての可読性の議論をするなら文法を知らないという問題は論外ですね。

日本語の単語や文法がわからないのに、小説や論文などの言い回しなどの表現について議論するのはあまりに滑稽な気がします(^^;

ただ、言語の仕様が、実際の問題を表現できない(表現しきれない、もしくは表現が難しい)仕様を含んでいた場合、これは別問題ですね(^^;

その言語仕様は率先して使われるべきではない気がしますねー(^^;

# re: 可読性ねぇ... 2007/10/20 14:02 なか-chan@最愛のiMac

bool isNotMatch = false;
if (a != b) isNotMatch = true;
int c = f(isNotMatch);

とか?

# re: 可読性ねぇ... 2007/10/21 15:56 中博俊

全部汗付>ひろえむさん

# re: 可読性ねぇ... 2007/10/23 13:27 ひろえむ

ほんまや!(^^;

# re: 可読性ねぇ... 2007/10/23 21:15 Imabeppu

[5] がわからんのは論外な気がしますが、[1] は使います。
例が arg だから意味なしですが、実際は arg なんて変数名つけるのがよくなくって、
こんな使い方ならありですよね。

bool openPolygon;
if ( startPos != endPos ) {
openPolygon = true;
} else {
openPolygon = false;
}
c = f(openPolygon);

つまり、(a != b) が何を意味するのかが分かりづらい場合、
それが分かるような名前の変数に入れてあげると可読性が高まります。
まぁ、上の場合だと単純なんですが、実際にはもっと複雑な場合がありますので。

# nVAppxRNuYm 2011/12/22 22:07 http://www.discreetpharmacist.com/ita/index.asp

Hi! Everyone who reads this blog - Happy Reconciliation and Accord..!

# sEuwUfHJebhUGaytzc 2011/12/29 19:09 http://www.jeffersonfacialplastics.com/facelift-ph

Hi! Everyone who reads this blog - Happy Reconciliation and Accord..!

# bqrQfbVaKRFRfuERWRz 2012/01/06 22:05 http://www.luckyvitamin.com/c-1127-multiple-vitami

Yeah !... life is like riding a bicycle. You will not fall unless you stop pedaling!!...

# I take pleasure in, result in I found just what I was looking for. You've ended my four day lengthy hunt! God Bless you man. Have a great day. Bye 2021/08/30 11:58 I take pleasure in, result in I found just what I

I take pleasure in, result in I found just what I was looking for.
You've ended my four day lengthy hunt! God Bless you man. Have a great day.

Bye

# I take pleasure in, result in I found just what I was looking for. You've ended my four day lengthy hunt! God Bless you man. Have a great day. Bye 2021/08/30 11:59 I take pleasure in, result in I found just what I

I take pleasure in, result in I found just what I was looking for.
You've ended my four day lengthy hunt! God Bless you man. Have a great day.

Bye

# I take pleasure in, result in I found just what I was looking for. You've ended my four day lengthy hunt! God Bless you man. Have a great day. Bye 2021/08/30 12:00 I take pleasure in, result in I found just what I

I take pleasure in, result in I found just what I was looking for.
You've ended my four day lengthy hunt! God Bless you man. Have a great day.

Bye

# I take pleasure in, result in I found just what I was looking for. You've ended my four day lengthy hunt! God Bless you man. Have a great day. Bye 2021/08/30 12:01 I take pleasure in, result in I found just what I

I take pleasure in, result in I found just what I was looking for.
You've ended my four day lengthy hunt! God Bless you man. Have a great day.

Bye

# No matter if some one searches for his vital thing, thus he/she wishes to be available that in detail, thus that thing is maintained over here. 2021/09/04 15:39 No matter if some one searches for his vital thing

No matter if some one searches for his vital thing, thus he/she wishes to be available that in detail,
thus that thing is maintained over here.

# Good blog you have here.. It's hard to find high-quality writing like yours nowadays. I honestly appreciate people like you! Take care!! 2021/09/06 9:02 Good blog you have here.. It's hard to find high-q

Good blog you have here.. It's hard to find high-quality writing like yours nowadays.
I honestly appreciate people like you! Take care!!

# Good blog you have here.. It's hard to find high-quality writing like yours nowadays. I honestly appreciate people like you! Take care!! 2021/09/06 9:03 Good blog you have here.. It's hard to find high-q

Good blog you have here.. It's hard to find high-quality writing like yours nowadays.
I honestly appreciate people like you! Take care!!

# Good blog you have here.. It's hard to find high-quality writing like yours nowadays. I honestly appreciate people like you! Take care!! 2021/09/06 9:04 Good blog you have here.. It's hard to find high-q

Good blog you have here.. It's hard to find high-quality writing like yours nowadays.
I honestly appreciate people like you! Take care!!

# Good blog you have here.. It's hard to find high-quality writing like yours nowadays. I honestly appreciate people like you! Take care!! 2021/09/06 9:05 Good blog you have here.. It's hard to find high-q

Good blog you have here.. It's hard to find high-quality writing like yours nowadays.
I honestly appreciate people like you! Take care!!

# Hello friends, its great paragraph concerning teachingand fully explained, keep it up all the time. scoliosis surgery https://coub.com/stories/962966-scoliosis-surgery scoliosis surgery 2021/09/14 6:46 Hello friends, its great paragraph concerning teac

Hello friends, its great paragraph concerning teachingand fully explained, keep it up all
the time. scoliosis surgery https://coub.com/stories/962966-scoliosis-surgery scoliosis surgery

# Hello friends, its great paragraph concerning teachingand fully explained, keep it up all the time. scoliosis surgery https://coub.com/stories/962966-scoliosis-surgery scoliosis surgery 2021/09/14 6:47 Hello friends, its great paragraph concerning teac

Hello friends, its great paragraph concerning teachingand fully explained, keep it up all
the time. scoliosis surgery https://coub.com/stories/962966-scoliosis-surgery scoliosis surgery

# Hello friends, its great paragraph concerning teachingand fully explained, keep it up all the time. scoliosis surgery https://coub.com/stories/962966-scoliosis-surgery scoliosis surgery 2021/09/14 6:48 Hello friends, its great paragraph concerning teac

Hello friends, its great paragraph concerning teachingand fully explained, keep it up all
the time. scoliosis surgery https://coub.com/stories/962966-scoliosis-surgery scoliosis surgery

# Hello friends, its great paragraph concerning teachingand fully explained, keep it up all the time. scoliosis surgery https://coub.com/stories/962966-scoliosis-surgery scoliosis surgery 2021/09/14 6:49 Hello friends, its great paragraph concerning teac

Hello friends, its great paragraph concerning teachingand fully explained, keep it up all
the time. scoliosis surgery https://coub.com/stories/962966-scoliosis-surgery scoliosis surgery

# I was recommended this web site by my cousin. I'm not sure whether or not this post is written by means of him as nobody else recognise such specific about my problem. You are wonderful! Thanks! 2021/10/26 18:50 I was recommended this web site by my cousin. I'm

I was recommended this web site by my cousin. I'm not sure whether or not this post is written by means of him as nobody
else recognise such specific about my problem. You are wonderful!
Thanks!

# An outstanding share! I've just forwarded this onto a friend who has been doing a little research on this. And he in fact ordered me dinner due to the fact that I stumbled upon it for him... lol. So allow me to reword this.... Thanks for the meal!! But 2022/03/24 8:18 An outstanding share! I've just forwarded this ont

An outstanding share! I've just forwarded this onto a friend who
has been doing a little research on this.
And he in fact ordered me dinner due to the fact that I stumbled
upon it for him... lol. So allow me to reword this....
Thanks for the meal!! But yeah, thanx for spending the time to discuss this topic here
on your internet site.

# An outstanding share! I've just forwarded this onto a friend who has been doing a little research on this. And he in fact ordered me dinner due to the fact that I stumbled upon it for him... lol. So allow me to reword this.... Thanks for the meal!! But 2022/03/24 8:19 An outstanding share! I've just forwarded this ont

An outstanding share! I've just forwarded this onto a friend who
has been doing a little research on this.
And he in fact ordered me dinner due to the fact that I stumbled
upon it for him... lol. So allow me to reword this....
Thanks for the meal!! But yeah, thanx for spending the time to discuss this topic here
on your internet site.

# An outstanding share! I've just forwarded this onto a friend who has been doing a little research on this. And he in fact ordered me dinner due to the fact that I stumbled upon it for him... lol. So allow me to reword this.... Thanks for the meal!! But 2022/03/24 8:20 An outstanding share! I've just forwarded this ont

An outstanding share! I've just forwarded this onto a friend who
has been doing a little research on this.
And he in fact ordered me dinner due to the fact that I stumbled
upon it for him... lol. So allow me to reword this....
Thanks for the meal!! But yeah, thanx for spending the time to discuss this topic here
on your internet site.

# An outstanding share! I've just forwarded this onto a friend who has been doing a little research on this. And he in fact ordered me dinner due to the fact that I stumbled upon it for him... lol. So allow me to reword this.... Thanks for the meal!! But 2022/03/24 8:21 An outstanding share! I've just forwarded this ont

An outstanding share! I've just forwarded this onto a friend who
has been doing a little research on this.
And he in fact ordered me dinner due to the fact that I stumbled
upon it for him... lol. So allow me to reword this....
Thanks for the meal!! But yeah, thanx for spending the time to discuss this topic here
on your internet site.

# This is my first time pay a visit at here and i am in fact pleassant to read all at alone place. 2022/03/25 6:55 This is my first time pay a visit at here and i am

This is my first time pay a visit at here and i am in fact pleassant to read
all at alone place.

タイトル
名前
URL
コメント