2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

プログラムセンスがある人とない人の違いを感じる時

1 :仕様書無しさん:2014/08/29(金) 11:06:04.82
プログラムセンスがある人とない人の違いを
感じたことがありますか?

それはどんな時でしょうか?

2 :仕様書無しさん:2014/08/29(金) 12:55:55.51
こういうスレ立てちゃう人って最高にダサい

3 :仕様書無しさん:2014/08/29(金) 15:37:38.38
ない奴はぺちぱーになる奴が多い

4 :仕様書無しさん:2014/08/29(金) 17:01:45.54
コードが読みやすいとセンスあるなと感じる
コードが読みにくいとセンスないなと感じる

5 :仕様書無しさん:2014/08/29(金) 17:03:05.52
再帰をうまく使える人はセンスを感じる

6 :仕様書無しさん:2014/08/29(金) 20:19:26.40
オーラが違う
なんか上手く説明出来ないが

7 :仕様書無しさん:2014/08/29(金) 23:34:32.97
集中モードに入りやすく、かつ途切れない人。
俺なんか趣味プログラムでもなかなか集中できないしすぐ息抜きしちゃうし。

8 :仕様書無しさん:2014/08/30(土) 14:20:17.62
手抜き最大で実装した結果を持ってして
顧客から最大限と思える賛辞を得てしまう人

技術もそうなんだけど、それ以外の対人能力が
凄いんだなと何時も見惚れてしまう///

9 :仕様書無しさん:2014/08/30(土) 18:56:39.72
構造がシンプルなこと
アホは複雑怪奇にしてメンテナンスと運用が死ぬ

10 :仕様書無しさん:2014/08/30(土) 22:19:21.67
>>8
それは、プログラムセンスじゃないよ?

11 :仕様書無しさん:2014/08/30(土) 22:37:05.73
やっぱりメンテナンスしやすいかどうかだろうな

手抜きで実装するにしてもセンスがある人は
今後のことを考えて手抜きする。
手抜きされたコードもメンテナンスしやすくなってる。

逆にセンスが無い人はいきあたりばったりなコードを書く
単に動けばいいだけ。動かなかったら無理やりちょっと修正して終わり。
視野が狭いから、問題点しか見えてない。
全体の設計を考えてコードをかけない。

12 :仕様書無しさん:2014/08/30(土) 23:26:42.46
>>11
作った人とメンテする人の
やり方や考えがあってるか?が大きそう
そのためのコーディング規約やルールかな

13 :仕様書無しさん:2014/08/30(土) 23:36:23.61
>>12
コーディング規約やルールがなくても
設計思想を読み取れるのが、プログラムセンスがある人だろう。

俺は読み取れるよ。

コードだけを見て、これ二人の人が作ったんじゃないか?って
思ったら、とあるオープンソースのコードをパクって
劣化改造していやがった。

通りでこういう設計に見えるのに、
それをぶち壊すコードになってるわけだよ。

14 :仕様書無しさん:2014/08/30(土) 23:42:28.00
>>13
メンテしやすさはどこへいった?
違う話題に変えるなよ

15 :仕様書無しさん:2014/08/30(土) 23:43:12.42
論理構造がシンプルなコードを生む人
データ構造がシンプルなコードを生む人
流れるように脳内でデバッグ可能なコードを生む人
複雑なことを簡単な単位(最小粒度)に落とし込んでいて、とにかく読みやすいコードを生む人
糞コードは捨ててでも書き直すくらいの人
コードを見ただけでバグの原因を特定する人

*** コードに色や匂いが付いて見える人 ****
*** コードに色や匂いが付いて見える人 ****

16 :仕様書無しさん:2014/08/30(土) 23:47:01.42
>>15
誰目線?
俺目線で決めて良いの?

17 :仕様書無しさん:2014/08/31(日) 00:13:08.51
メンテで、毎回全部のコードを読まないといけない作りはセンスないなと思う。
一度読めばいい部分と、何回も読むことになりそうな部分は、わけてほしいです。。

18 :仕様書無しさん:2014/08/31(日) 00:22:03.67
特殊な条件の時にだけ実行するようなコードが多いと、センス無いなと思う。

19 :仕様書無しさん:2014/08/31(日) 08:36:45.90
>>14
> メンテしやすさはどこへいった?

メンテしやすさは否定してないよ。

コーディング規約やルールを作ることの話をしてるの
作るのも大事だけど、コードからそれを読み取れるようにならないと。

20 :仕様書無しさん:2014/08/31(日) 08:45:12.98
>論理構造がシンプルなコードを生む人
>データ構造がシンプルなコードを生む人
>流れるように脳内でデバッグ可能なコードを生む人

一筆書きは、流れるように作ってあるよ。そして構造がシンプル

21 :仕様書無しさん:2014/08/31(日) 09:25:08.61
同じ構造物を作る場合でも、映画のセットとフェラーリのエンジンじゃあ
大違い。

センスの無い奴は、映画のセットのようなソフトを作る。
センスのある奴は、フェラーリのエンジンのようなソフトを作る。

ソフトは映画のセットのような構造物でも、取りあえず動くし
使う人には構造は見えない。 だから、通用したりする。

でも、ソフトの構造が見えたら、映画セットとエンジンのような違いが
分かる。 ホームページなんかは映画セットの典型で、紙芝居みたいな
ものだろ? 特定の用途にしか使えず、使い捨てのソフトだな。

22 :仕様書無しさん:2014/08/31(日) 09:27:57.96
>>19
ボッチでやる人はそれでもいいんじゃないか

23 :仕様書無しさん:2014/08/31(日) 09:40:16.80
>>22
すまんな。俺はもっと広い世界、
オープンソースの世界の話をしてるんだ。

コーディング規約なんて無い方が多いよ。
それでもコードから読み取って、それに合わせて
パッチを書かないと受け入れてもらえない。

楽そうだね。なにもかもマニュアル化され
そのとおりやっていけばいい世界は。

24 :仕様書無しさん:2014/08/31(日) 09:41:50.68
>>23
どんなオープンソース?
何作ったの?

25 :仕様書無しさん:2014/08/31(日) 09:42:24.88
>>23
やっぱボッチの世界だったね

26 :仕様書無しさん:2014/08/31(日) 09:45:09.57
宣伝って騒がれるから名前は出さないけど
誰もが知っているような有名なオープンソースだよ。
俺自身も相当に有名で、はっきり言って
おまえらとは相当に格が違う。

27 :仕様書無しさん:2014/08/31(日) 09:45:13.20
>>24
違う違うw

他人のオープンソースにパッチ投げたり(貰ったり)
という話。だから多くの人が関わってくるんだよ。

作ったソフトをいうとバレるので、匿名掲示板の意味がなくなる。
そんなのを聞きたいなら、他の掲示板でやってね。

28 :仕様書無しさん:2014/08/31(日) 09:47:19.03
>>27
自慢したい人が他へ行けば

29 :仕様書無しさん:2014/08/31(日) 09:51:12.69
>>28
なんで? ここにいたくない人が
他に行くのが、自然な流れなのでは?

いたいという人を止めることは誰にもできないわけだし、
見たくない人は、見ないでいいわけなんだから。

論理的に考えてみようよ。

30 :仕様書無しさん:2014/08/31(日) 09:53:29.31
>>29
バカ理論は理解不能

31 :仕様書無しさん:2014/08/31(日) 09:55:21.88
まあ、自慢するが止めてみろって話だしな
どうやって止めるのか、興味深いw

32 :仕様書無しさん:2014/08/31(日) 09:58:24.66
自慢ってよりバレバレの大嘘やめろって気がする

33 :仕様書無しさん:2014/08/31(日) 10:16:43.42
読みやすい


以上

34 :仕様書無しさん:2014/08/31(日) 11:04:09.93
ビッグマウスは大抵センスないと感じることが多い。

>>13もソース読んで設計思想読めるとかうそぶく癖に
後出しで2chの匿名性の限界を盾にする、っていうか言及する時点でちょっと怪しい

35 :仕様書無しさん:2014/08/31(日) 11:19:58.09
コーディング規約やルールは設計思想とは全く別物だろう。
コーディング規約やルールがあれば設計思想がわかりやすくなるというものでもないし。

36 :仕様書無しさん:2014/08/31(日) 11:21:39.25
プログラムセンスのあるやつは、暇なとき、掲示板の馬鹿なやつの相手をしないで
ソリティアで遊んでいる

37 :仕様書無しさん:2014/08/31(日) 12:15:42.39
設計思想いうものはなんなの?
フェラーリという例えがあったが、
プログラムのつくりかたに、すばらしい思想があるとでも
女は普段から白馬の王子様がやってくる、そういうことを期待している
プログラムの世界には、そうものではない

センスとは保守のしやすさが基準。プログラムソースとともに必要なのは設計図。
それを用意できてセンスがあるといえる

38 :仕様書無しさん:2014/08/31(日) 12:21:09.35
>>37
センスが無いな。

39 :仕様書無しさん:2014/08/31(日) 12:23:29.15
センスとか思想とか抽象的で個人の趣味だよな

40 :仕様書無しさん:2014/08/31(日) 12:32:43.62
>>37
オープンソースの大半は、センスが無いということだね。

41 :仕様書無しさん:2014/08/31(日) 12:38:43.00
>>35
> コーディング規約やルールは設計思想とは全く別物だろう。

まったくもってその通り。

規約とかルールとか、設計関係ない。
規約やルールは初心者を排除するためであって、
守れて当然のものだよ。

足切りには使えるが、センスというのはそれよりも更に上にある。

42 :仕様書無しさん:2014/08/31(日) 12:39:51.22
>>37
> センスとは保守のしやすさが基準。プログラムソースとともに必要なのは設計図。

その設計図がセンスあるかどうかって話だろ。
センスが無い設計図を書くSEがなんと多いことか。

43 :仕様書無しさん:2014/08/31(日) 12:41:48.17
>>41
センスなんてもので保守性きめていいの?

44 :仕様書無しさん:2014/08/31(日) 12:42:06.84
>>42
そんなレベルの低い話だったの?
今時SEが設計図書くなんて、COBOLくらいじゃね?

45 :仕様書無しさん:2014/08/31(日) 12:43:16.98
>>39
スポーツやダンスの「センス」に
置き換えて考えて見ればわかりやすいんじゃないかな?

センスが有る人は、スポーツやダンスが上手いのは当然のことながら
初めてやるスポーツでも素晴らしい動きを見せたり
ダンスも新しくしったステップを軽々とこなせる。

相手がやってるのを見るだけで真似出来たり
そういうのがセンスだろう。

頑張って出来るようになっただけだったり
決められたルールにそってやるだけの一般人では
センスを感じることはないだろう。

46 :仕様書無しさん:2014/08/31(日) 12:43:18.38
>>42
プログラムセンスの話だろ?
SEにプログラム仕様書もらって打ってるだけか?

47 :仕様書無しさん:2014/08/31(日) 12:44:09.60
>>43
センスと保守性を同一視してるのは>>37くらいだと思うが。。

48 :仕様書無しさん:2014/08/31(日) 12:44:13.48
>>46
だから設計図を書く=プログラマの仕事=プログラムのセンスだよ。


世の中にはプログラムのセンスが無いのに
設計図だけを書くSEが多いって話。

49 :仕様書無しさん:2014/08/31(日) 12:44:58.83
>>45
変なたとえやめろよ

50 :仕様書無しさん:2014/08/31(日) 12:46:12.41
>>48
わかるようにかけ
SEなの?PGなの?

51 :仕様書無しさん:2014/08/31(日) 12:47:45.74
>>47
>>11以降
センス=保守性
かなんて話題で盛り上がってたのでは?

52 :仕様書無しさん:2014/08/31(日) 12:49:27.69
おまえらにセンスがないことはわかった
レスにインテリセンスが感じられない

53 :仕様書無しさん:2014/08/31(日) 12:58:02.60
>>51
「センス=保守性」理論にこだわってるのは>>14くらいじゃない?

54 :仕様書無しさん:2014/08/31(日) 13:16:33.73
保守性はみんなが目指すことだろう。

だがセンスがある人が書いたコードの保守性は他と違う。
ドキュメントがなくてもわかりやすいんだ。

55 :仕様書無しさん:2014/08/31(日) 13:43:12.12
エディタの機能じゃなくて
コードに色や匂いが付いているように見える奴はここには居ないのか
ブロックごとにハイライトとかバグを含むコード片に臭いがするとか

56 :仕様書無しさん:2014/08/31(日) 13:47:39.30
>>55
また自慢になるが俺だな。

だいたい仕様きくと頭のなかでコードが
すぐに組み上がるんだろうな
詳細ではなくて、コードの流れが。

で、それと同時にコードをみた時
頭のなかのコードと流れが全く違うと
おかしいとピンとくる。

で、そこからなんでおかしいのかを考えて
解き明かす頃にはコードが綺麗になってると。

57 :仕様書無しさん:2014/08/31(日) 14:28:16.70
>>53
言い出しっぺは11だがそれは無視か?

58 :仕様書無しさん:2014/08/31(日) 14:29:33.05
>>56
バカ自慢にしかみえん
やめておいたら

59 :仕様書無しさん:2014/08/31(日) 15:21:15.62
>>50
PGとSEなんか混同しとけばいいだろ
センスねえな

60 :仕様書無しさん:2014/08/31(日) 15:23:59.90
>>59
センスない書き込み

61 :仕様書無しさん:2014/08/31(日) 15:55:00.85
>だいたい仕様きくと頭のなかでコードが
>すぐに組み上がるんだろうな
>詳細ではなくて、コードの流れが。

おまえ、エンドレステープのようだ。同じ文章しか出てこのないのか
ほかのスレッドでも同じ文章を作っていた
脳みそ小さいよ

62 :仕様書無しさん:2014/08/31(日) 15:58:19.92
>>61
まあ凡人や人間の塵屑には理解できない話だよね。
一部の天才のみに許された話なんだから。

63 :仕様書無しさん:2014/08/31(日) 16:16:27.27
シンプルが一番というのは、プログラミングに従事しているものなら分かる。
ソースコードの読みやすさをあげているわけ。プログラミングに従事しているものなら分かる。
さて、コードを読むというのは、構造を理解する作業なわけ
で、センスというのはそこを配慮しているかだ。

プログラムのセンスというのは、そういうところに集約される
ネストが深くない、関数が一画面に収まっている、クラスが1000行にまとめられている、
階層を浅くしている。
というやうに作ってあるかだ。コードを読む人を疲れさせない工夫だ。
ネストを深くしているコードは、素人コード。サンプルコードにいっぱいあるよね

64 :仕様書無しさん:2014/08/31(日) 16:41:11.95
百姓プログラマに聞くんだけど、一回のルーチンの処理速度計ったことある?
センスもなにも、そのルーチンの処理で遅延するようではそれは腐っている
プログラマの感覚とはそういうもの。

65 :仕様書無しさん:2014/08/31(日) 16:45:55.76
遅延ゼロのルーチンを書けるのか
やっぱ紙クラスのプログラマは違うな

66 :仕様書無しさん:2014/08/31(日) 17:45:00.59
センスの良いコード例書いてみ

67 :仕様書無しさん:2014/08/31(日) 19:12:11.87
選ばれし戦士はいないのか
お前ら本当にコードから色とか匂いを感じられないのか
よくそれで今まで飯食えてきたな

68 :仕様書無しさん:2014/08/31(日) 20:52:49.05
>遅延ゼロのルーチンを書けるのか やっぱ紙クラスのプログラマは違うな

レスありがとう
百姓はやっぱりルーチンの処理速度測ったことないんだ
ルーチン処理を計れば、大概 0 ミリ秒やで

69 :仕様書無しさん:2014/08/31(日) 21:26:01.37
昔はスペック低いからいかに速き処理できるかっていうのが重視されたらしいが
最近は普通に書けば速度はあんまり変わらないから
他人にも見易いのが求められてるらしい。
>>63みたいなのは経験でカバーできる。
自分がセンスあるなぁと感じるのは
Javaのデザインパターンみたいなやつ。
ああいうのは可読性の為にあるのではなくオブジェクト指向の実現の為にある。

70 :仕様書無しさん:2014/08/31(日) 21:28:32.34
×速き
○速く
(´・ω・`)ショボーン

71 :仕様書無しさん:2014/08/31(日) 22:11:19.50
>>68
ルーティンに係る時間が「大概 0 ミリ秒」でいいなんて
いい世界だな。
7マイクロ秒くらいでも100万個処理で7秒とかおまえなめてる?
って怒られるのが普通なのに。

72 :仕様書無しさん:2014/08/31(日) 22:43:18.71
ドヤ顔で大概0ミリ秒とかwww
組み込み向けの低速ARM使ったって処理時間が1ミリを超えるには
相当な量のコードを動かす必要があるぞ。
ミリで測ったらそりゃ大概0ミリだわwwwww

73 :仕様書無しさん:2014/08/31(日) 22:59:37.98
スキル高いやつのソース見る機会があったんだけど
パッと見普通の実装してるようにしか見えないのな
今まで色々工夫してきたのと対照的にきれいな普通のソースで一見遅くなってそうなのに計ると速い
某CPU屋さんのアセンブラをCで上回ってるの目の当りにするまで信じられなかった

本気で最適化すればもっと出せるらしいが読めなくなるとか言ってたけど

74 :仕様書無しさん:2014/09/01(月) 01:44:36.12
>>67
職場のコードの臭いを嗅いだら鼻が曲がって使い物にならなくなった

75 :仕様書無しさん:2014/09/01(月) 03:00:42.32
自分がセンスあると信じ自己紹介を書く奴と、それを叩かないと気がすまない奴との
くだらないバトルくらいしか生み出さないスレになりそうだな

ってかスレタイの「センス」って表現も、マ的にアレな感じするわ

76 :仕様書無しさん:2014/09/01(月) 03:27:15.50
と、センスが無い人がほざくw

77 :仕様書無しさん:2014/09/01(月) 11:37:58.37
>今まで色々工夫してきたのと対照的にきれいな普通のソースで一見遅くなってそうなのに計ると速い
>某CPU屋さんのアセンブラをCで上回ってるの目の当りにするまで信じられなかった

まぁ、そういうのがセンスあるというんだわ。
ルーチン処理に7秒もかかるのは糞コードな

78 :仕様書無しさん:2014/09/01(月) 12:13:30.71
たかだか5件程度のソートにバイナリソート使っててわらた。
しかも初期状態は空で、絶えずソート済みなデータがある場所で。

79 :仕様書無しさん:2014/09/01(月) 12:16:53.09
>>73
最近のコンパイラの最適化、優秀なんだな

80 :仕様書無しさん:2014/09/01(月) 13:00:58.26
バイナリソートww

81 :仕様書無しさん:2014/09/01(月) 13:42:47.61
ばいなリゾートと読むのだな

ほんと組み込み系はバカなんだから

82 :仕様書無しさん:2014/09/01(月) 16:34:23.05
そんな重箱の隅つつくなんて、よっぽど恥ずかしい事を指摘されたらしいな。

83 :仕様書無しさん:2014/09/01(月) 19:42:46.86
>>73

それは元のアセンブラがダメダメだっただけでしょ。
VCもGCCも無駄なコード多いよ。
バカ正直なコードしか吐かないから。

84 :桃白白 ◆9Jro6YFwm650 :2014/09/01(月) 21:18:32.80
>>78
バイナリソートてなんぞ?

85 :仕様書無しさん:2014/09/01(月) 21:41:18.81
>>40
定期的に大規模なリファクタリングをしてない限りは、センスのない残念なコードが
混ざっていることは多いね。 修正が多い部分は洗練されていくんだけど、手が
入らないコードはとりあえずで書いたままだったり。

86 :仕様書無しさん:2014/09/01(月) 22:13:00.70
>>83
元のアセンブラは最適化対象のCPU作ってて
コンパイラ移植してるとこのやつが直々に手書きして速くしたもんなんだ
元のCをコンパイルしたバイナリよりずっと速くて
これ以上は無理だと思ってたものなんだ

87 :仕様書無しさん:2014/09/01(月) 22:13:05.78
おまえら、この三つのなかでどれが一番早くルーチンを抜け出せるものは?

@
int x = 0;
for( int i = 0; i < 10000; i++){//一万回ループ
x++;
}

A
double x = 1.1;
for( int i = 0; i < 100; i++){
double calc = 1/(x+i);
}

B
CTextDoc* pDoc = GetDocument();
for( int i = 0; i < 5; i++){
  pDC->TextOut(0,0,"Textを表示しよう");
}

88 :仕様書無しさん:2014/09/01(月) 22:20:41.00
@はO0かぼるているしとかないと
定数インストラクションでてくるだけでしょ

89 :仕様書無しさん:2014/09/01(月) 22:21:02.26
ミリ秒クン、宿題は自分で解こう

90 :仕様書無しさん:2014/09/01(月) 22:26:39.16
>>88
定数以前に何一つ処理が残らないだろ

91 :仕様書無しさん:2014/09/01(月) 22:35:43.48
@とAは続きでx値使うなら残るだろ
続きが無ければなんものこらん

92 :仕様書無しさん:2014/09/01(月) 22:37:42.20
1と2は最適化したら0ステップ、3はコンパイルエラー。
なにがしたいの?

93 :仕様書無しさん:2014/09/01(月) 22:42:03.26
本気でバカなんだなおまえらw

94 :仕様書無しさん:2014/09/01(月) 22:51:16.99
ループの判定を有値との比較で書いている時点でこいつセンスの欠片もない

95 :仕様書無しさん:2014/09/01(月) 23:09:02.57
>>94
IAだとあまり効果がないテクニックだからそれ。

96 :仕様書無しさん:2014/09/01(月) 23:22:21.68
どうせ大概0ミリ秒なんだろ
どれでも

97 :仕様書無しさん:2014/09/01(月) 23:24:37.95
>>85
定期的に大規模なリファクタリングって言ってる時点でだめだろw
修正するたびに、小規模なリファクタリングをするべきだ。

あの人がコードを修正すると、修正する前よりも
見やすくシンプルになってるんだ。機能を追加しているのに!

っていうのがセンスある人なんだよ。

98 :仕様書無しさん:2014/09/02(火) 00:10:32.59
>>87
Bだな。
@は10000回もループしてる時点で論外。
Aは100回のループで一見早そうだけど、中でdoubleの計算をやってるから、実は一番遅い。
Bはループも5回だし、計算もしてないから一番速い。

99 :仕様書無しさん:2014/09/02(火) 00:23:29.93
>>98
コンパイルすると@もAもループしなくなるんだがな

>>87はセンスないと感じるね
「一万回ループ」なんてコメント不要、見ればわかる

100 :仕様書無しさん:2014/09/02(火) 01:57:59.96
>>99
ほんこれ

ベンチマーク的なゴミコードは今時のコンパイラは排除しちゃう

101 :仕様書無しさん:2014/09/02(火) 02:52:48.22
>>86
> >>83
> 元のアセンブラは最適化対象のCPU作ってて

アセンブラがCPU作るなんてすごいな!

102 :仕様書無しさん:2014/09/02(火) 02:56:46.50
>>101
ハンドアセンブルって知らない?
手動でニーモニックを機械語にアセンブルすること

つまりハンドアセンブルの世界において
アセンブラとは人間のことである。

103 :仕様書無しさん:2014/09/02(火) 03:29:08.06
>>102

Z80のハンドアセンブルならやってたよ。
というか、オペコードとか憶えてたからアセンブルも逆アセンブルもできてたし。

アセンブラはソースコードをバイナリにコンパイルするツールの事。
ハンドアセンブルの業界?ww
そんなもんどこにあるんだ?
8ビット程度ならプログラム組んでたら、デバッグ・サイズ縮小・スピードアップ
の時に大体覚えるよ。

104 :仕様書無しさん:2014/09/02(火) 04:01:17.96
>>78
大笑いさせていただきました

105 :仕様書無しさん:2014/09/02(火) 04:04:43.38
ハンドアッセンブラー戦隊参上
ムーヴレンジャー
シフトレンジャー
アッドレンジャー
サブレンジャー
ノップレンジャー

106 :仕様書無しさん:2014/09/02(火) 13:44:24.94
いまどきは、キャッシュとかの関係で小さなループならそっちのが早かったりするんじゃね?

107 :仕様書無しさん:2014/09/02(火) 19:52:26.91
センスある人はそんな事言わない

108 :仕様書無しさん:2014/09/03(水) 02:44:49.58
比叡はそんなこと言わない

109 :仕様書無しさん:2014/09/03(水) 05:17:01.12
>>106

コードキャッシュとデータキャッシュが分かれてないのもあるからね。
ケースバイケース。

110 :仕様書無しさん:2014/09/03(水) 08:21:54.10
背景事情に合ってないコードはセンスないんじゃない
分野ターゲットいろいろで寿司お寿司

111 :仕様書無しさん:2014/09/03(水) 16:10:05.34
スコープの小さいコードにまとめる力。 それに尽きるわ。

つまりモジュール、局所的なコードな。 キャッシュも良く効くし。

そして他のモジュールとの関連性を極限まで小さくする。
関連性すなわち、インターフェース仕様を煮詰め洗練するセンス。

モジュールの中身を、まったく別なものに取り換え可能なように
インターフェース仕様を考え、全体システムを組み上げる設計能力。
これは、多数の人間で分担してやる場合にも効く。

112 :仕様書無しさん:2014/09/03(水) 19:15:49.27
>スコープの小さいコードにまとめる力。 それに尽きるわ。

意味不明、

スコープの小さい、コードにまとめる力、なのか
スコープの、小さいコードにまとめる力、なのか

以下もわからない

>そして他のモジュールとの関連性を極限まで小さくする。
>関連性すなわち、インターフェース仕様を煮詰め洗練するセンス。

海水を煮詰めると塩が出来る、のだが

113 :仕様書無しさん:2014/09/03(水) 22:10:02.83
スコープの中を小さくまとめる力、ってことじゃ無いか
スコープ内の複雑度を低くする
多分な

その質問なんかずれてるぞ

114 :仕様書無しさん:2014/09/03(水) 22:28:30.00
Effective C++やEffective Javaみたいなのを読んだことのない初心者スクリプター
しかいないのか。

115 :仕様書無しさん:2014/09/03(水) 22:33:20.62
>>114
読んだことあるけど
言いたいこと言えよ

116 :仕様書無しさん:2014/09/03(水) 23:16:29.67
シンプルで疎結合となるようにシステムを設計する力でしょ。
多少語彙は違ってても、言わんとしてることはわかるから
>>111 には同意する。

117 :仕様書無しさん:2014/09/03(水) 23:33:19.65
文字列出力(標準出力?)が
一番ガンだって意見が何故でない?

pDC->TextOut(0,0,"Textを表示しよう");

ってのが何秒かかるかもわからんうちは俺はBだけは避けるわ

118 :仕様書無しさん:2014/09/03(水) 23:35:07.29
@、Aはコンパイラの吐きそうなコードがまだ見えるから
(最適化含め)許せる。

Bはゆるせんというか見えないから最初から除外だ。

119 :仕様書無しさん:2014/09/04(木) 00:34:36.92
Bは計測時の状態によって全然違ってくるから、問題として不適切。
あと何のデバイスコンテキストもってきてるんだ?

>>117
pDCがメモリデバイスコンテキストなら、Bが一番早い。
TEXTOUTの命令コードとパラメータをキューに追加するだけだから。

120 :仕様書無しさん:2014/09/04(木) 00:58:20.02
最低でも、TEXTOUTの命令コードとパラメータをキューに追加しないといけないとも言える。

121 :仕様書無しさん:2014/09/04(木) 02:28:28.53
>>119
いや、それは貴方の見解で、問題では何も触れられていない。
自己満の訳判らんクラスに実装されたメソッドだったという可能性もある。

それも糞性能の(デバイスを駆使する)とか

122 :仕様書無しさん:2014/09/04(木) 02:34:12.72
敢えて言えば@Aは何も表示せずに処理を行っている。
つまり表示させる必要はないということだ。
その必要ない表示を行っているBは無駄な処理を行っているわけで
それだけで選択する勝ちのないロジックと言うしかない。

無駄を見分けるのもセンスのうちじゃないのか?
どれが早いかはしらんが、無駄は無駄だろ。

123 :仕様書無しさん:2014/09/04(木) 12:54:31.76
センスのある人
http://i.imgur.com/Qr3QjQB.jpg

124 :仕様書無しさん:2014/09/04(木) 13:30:26.41
>>123
ば、ば、ばかだぁあ

125 :仕様書無しさん:2014/09/04(木) 19:06:08.01
>>123
何処かでみたことある顔だな
しかしすごい筋肉だ

126 :仕様書無しさん:2014/09/04(木) 19:33:56.08
>>125
ば、ば、ばかだぁ!
贅肉を筋肉といってるぅ

127 :仕様書無しさん:2014/09/04(木) 21:03:45.03
ガリメガネが不具合だしたらぶっころすけど

こいつなら不具合を仕様にできそうだな

128 :仕様書無しさん:2014/09/04(木) 22:49:31.28
>>126
おまえが無知なだけだろ
こいつ除脂肪体重すごいぞ

129 :仕様書無しさん:2014/09/05(金) 07:22:34.53
首見ればわかるでしょ

130 :仕様書無しさん:2014/09/05(金) 12:46:37.37
ホモ好きしそうな体だな

131 :仕様書無しさん:2014/09/05(金) 12:47:55.07
プロレスラーってこんな感じのカラダだよね

132 :仕様書無しさん:2014/09/05(金) 17:45:35.50
>>68
内容にもよるけど、ふつー単位はミリ秒ぢゃなくて
マイクロ秒とかナノ秒だろ?
DB の検索とかネットワークの応答速度ならミリ秒とか使うけどさ

133 :仕様書無しさん:2014/09/05(金) 17:52:40.63
>>78
バイナリソートでぐぐったら
クイックソートが出てきたでござる

ま 言いたいことはわかる けど(;´∀`)

134 :仕様書無しさん:2014/09/05(金) 18:53:37.98
なんだよバイナリソートって古い呼び名なだけだろうがよ。
いちいち揚げ足取って本質の議論中断させるだけの無能どもが
給料泥棒の自覚あるんかね?

135 :仕様書無しさん:2014/09/05(金) 21:39:13.74
ソートなんてつかったことないな
SQLでかってに整頓されてくるし

ソートのクラス使った方が早そう

136 :仕様書無しさん:2014/09/05(金) 21:55:01.24
>>134
> なんだよバイナリソートって古い呼び名なだけだろうがよ。

古い呼び名じゃなくて、間違いだろ?

137 :仕様書無しさん:2014/09/05(金) 22:37:13.25
バイナリソートは、バイナリサーチを利用したソート方法。
リニアサーチを利用したソート方法はリニアソート。

なんでバブルソートだのクイックソートだの振る舞いが名前になっちまったんだかな。

138 :仕様書無しさん:2014/09/05(金) 23:32:03.04
oracleのwebサイトにバイナリソートについての記述あるでよ

139 :仕様書無しさん:2014/09/05(金) 23:33:57.20
>>138
それはソート順の基本となる文字コードスタイルの話じゃね?

140 :仕様書無しさん:2014/09/06(土) 02:02:09.34
>>139
そのとおりだね。

似たような言葉に言い換えると、

文字コード順に並べたもの

つまり並べ替えるアルゴリズムのことではない

141 :仕様書無しさん:2014/09/06(土) 10:37:20.34
「データ構造とアルゴリズム」とか言う本があったよな。

プログラムの実装において、データ構造と処理部分は
トレードオフの関係にあるよ。 データ構造を工夫すると
処理ステップがよりシンプルでステップ数が少なくて済むとかが
それにあたる。

いわゆるテーブル駆動型のプログラムとかな。 使用するテーブルの
データ構造とセットされるデータ自体が、やるべき処理を物語るという
形態になっている。 宣言的なプログラムになる。

このデータ構造の設計能力が、プログラムセンスと云われるものの
1つだと思うよ。

クラス設計やDB設計が難しいのも、その良し悪しがプログラムの
実装の容易さ(シンプル)/保守性/実行性能に大きく関わるからだ。

142 :仕様書無しさん:2014/09/06(土) 15:50:07.93
そういう感じで思い出したが、普通データ構造から設計しないとプログラム組めないよな?

143 :仕様書無しさん:2014/09/06(土) 16:26:32.67
チャーチ数について説明を受けた時、
「直感的。素晴らしい」と感じる人にはプログラミングセンスは無い。
「何これ?キメェ」と感じる人にはプログラミングセンスがある。

144 :仕様書無しさん:2014/09/06(土) 17:36:35.17
>>142
一人で好きな物組むならその場その場で
素直な場所にデータ配置してきゃいいだけじゃないの

仕様を他人が握ってんなら
業務やハードウェアの都合を独断できめらんねーし
誰かに振る時に全容理解させずに実装できるようにしなきゃいけないから
絶対に設計書は必要

145 :仕様書無しさん:2014/09/06(土) 19:11:18.11
>>143
チャーチ数について説明を受けた時、
直感的かどうかがチャーチ数の本質に何の関係もないことだと
普通に理解できない人にはプログラミングセンスは全く無い。

146 :仕様書無しさん:2014/09/06(土) 19:21:07.04
>>144はセンスなさそうw
プログラムというより、作業しかしてない気がするw

147 :仕様書無しさん:2014/09/06(土) 19:25:28.49
パイズリソートなら気持ちよさそう

148 :仕様書無しさん:2014/09/06(土) 19:26:06.15
>>144
確かにバカっぽい

149 :靖国参拝、皇族、国旗国歌、神社神道を異常に嫌うカルト:2014/09/07(日) 01:21:35.53
★マインドコントロールの手法★

・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法


偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
,,,,

150 :仕様書無しさん:2014/09/07(日) 08:14:05.44
>>149
あぅたまわるそうな書き込み!

151 :仕様書無しさん:2014/09/07(日) 10:27:55.43
ウォルマート、人件費削減で正社員の80%がフードスタンプ受給、その生活保護費は年額2800億円にものぼる。

西友で買い物するのは止めよう。

ウォルマートの経営戦略に見るマルサス的世界観 : アゴラ
https://twitter.com/Mono_Book_/status/508410525701521408

152 :仕様書無しさん:2014/09/11(木) 01:23:51.78
その場しのぎのゴミコードの場合

153 :仕様書無しさん:2014/09/13(土) 12:10:13.84
その場しのぎでもうまくやってのける
次のことを予測して構造に組み込んである

同じことを何度もしない

これだけだろ

154 :仕様書無しさん:2014/09/13(土) 13:36:35.76
>>153の反対は

その場しのぎでクソコードを書く。
将来のことを考えない
同じことを何度もする。

ですよ。

”その場しのぎ” という単語は
クソコードにこそふさわしい言葉だと思いますがね。

155 :仕様書無しさん:2014/09/13(土) 18:11:23.46
そもそもセンスがある人がやってれば
その場しのぎということ自体がない

クソコードの上にその場しのぎをしても
センスのある人がやればクソが積み上がらない
センスがなければさらなるクソが積み上がる

ただそれだけ。

156 :仕様書無しさん:2014/09/14(日) 01:19:22.28
そしてくそコード山盛り解読困難なコードに素敵コードをのせても人月計算でくそ製造機と同じ値段。
一方、くそ製造機は別の現場で素敵コードにくそ乗ってて自己満足。

157 :仕様書無しさん:2014/09/14(日) 01:29:23.36
センスがある人はクソコードに近寄らない

158 :仕様書無しさん:2014/09/14(日) 07:50:16.59
>1>2>3>4>5

読んだってや。
新聞拡張員ゲンさんの嘆き
ttp://www3.ocn.ne.jp/~siratuka/index.html

新聞勧誘・拡張問題なんでもQ&A
ttp://www3.ocn.ne.jp/~siratuka/newpage10.html

159 :仕様書無しさん:2014/09/14(日) 14:08:23.64
クソが積み上がっているもののほうが売れてしまう日本のSI市場
残念なこと極まりないな。

160 :仕様書無しさん:2014/10/09(木) 00:06:18.56
>>78
頭の中ではクイックソートの事考えてた。

161 :仕様書無しさん:2014/12/05(金) 06:49:39.31
短いのが一番

ゴチャゴチャ書く奴は無能

162 :仕様書無しさん:2014/12/10(水) 22:56:28.49
ちゃんと動けばそれが一番

163 :仕様書無しさん:2014/12/11(木) 04:44:43.17
そりゃちゃんと動かないのは問題外だろw

164 :仕様書無しさん:2014/12/15(月) 21:42:58.54
気分が良いとおしゃれなコード書いて
センスの無い仕様を押し付けられると
ふてくされて糞コード書いてしまう
そんな私はこの仕事は向いてないのだと思う。

165 :仕様書無しさん:2014/12/23(火) 11:59:20.36
保守性の低いその場凌ぎのコードってのはコーダーのセンス()とやらでなく納期の短さに起因している場合が多いんじゃないの

166 :仕様書無しさん:2014/12/28(日) 19:43:50.07
>>164
向いてないね。

そもそも、その、自分の書いたものを
>おしゃれなコード
と自賛し、人から与えられたものを
>センスの無い仕様
と批判するのが幼稚すぎるし、根本的にプログラミングが好きじゃない人の
考え方だな、それは。

むしろ俺は、「この仕様はダメだな」と思ったときこそ、プログラマーの
センスの見せ所だと思うんだけどね。

そのダメな仕様通りにしか動かないコードを書くのではなく、
そのダメな仕様は書いたコードで実現できることのほんの一例となるような
コードを書いて、レビューのときに、「こうするとこうも動きます」みたいな
プレゼンをすればいいのだ。

こういうことをやると、とても役に立つ。仕様がどうであれ、自分の書く
コードは高いレベルをキープするモチベーションになるのはもちろんだが、
それだけじゃない。

それよりも、そういうプレゼンをしたときに、その依頼者がどういう反応を
するかで、その人の知的レベルを推し量ることができるのだ。
プログラマーが創造力を発揮すると
「勝手なことするんじゃねえよ!」と怒ってくる人もいるし、
「すげえ!こんなこともできるんですか!」とコードの力を理解してくれる人も
いる。

僕の場合、依頼者が前者だったら、そっと離れていくことにする。
時間を無駄にしたくないので、依頼者がバカか利口かの見極めができるという
意味で、今言ったようなアウトプットの仕方を心がけている。

167 :仕様書無しさん:2014/12/28(日) 20:00:57.47
あと、このスレを読んで思うのは、あるプログラマーがいて、
その人の仕事のアウトプットについて、

センス[有る|無い]よね

という評価を、職場だといろいろな立場の人がすると思うけど、
プログラマーにとって大事なのは、コードを書かない人(企画だったり、営業
だったり)たちからの評価のほうが、重要だと思う。

プログラマー集団の中での「仕事ができる人」と、
企画、営業も含めたチームの中で「仕事ができる人」とは、やはり微妙に
違ってくるけど、後者により自分のアウトプットの照準を合わせたほうが、
社内で仕事がしやすくなり、プログラマーとしても快適に過ごせると思う。

まあ、こんなことを言うと
「そんな処世術みたいな話をしているんじゃない!」とお怒りの諸兄も
いらっしゃるだろうが。

168 :仕様書無しさん:2014/12/28(日) 20:11:26.62
>>167
何処を縦読み

とか言いたくなったが、要は
「客に好かれるプログラマーたれ」
って事だろ?

当たり前の事だと思うんだが、わかってない奴大杉っからな
この業界

169 :仕様書無しさん:2014/12/28(日) 20:12:41.25
>>164
が、なぜプログラマーに向いてないかということをもっと詳しく書いておこう。

より出来るプログラマーといいうのは、貴兄のいうところの
>センスの無い仕様
を見せられても、それを実装する方法の様々な選択肢の中で、
一番自分が知的興奮を感じながら楽しんでコードを書く道筋が、
一瞬でひらめくものだからだ。

どんな仕事でもそうじゃないか?

どんなつまらないことを依頼されても、それを実行するのが
楽しくなるようなものに一度自分の中で変換できるやつに、

>気分が良いとおしゃれなコード書いて
>センスの無い仕様を押し付けられると
>ふてくされて糞コード書いてしまう

ようなヘタレは絶対かなわないですよ。

世の中には、こういった、どんな仕事も自分の愉しみにしてしまう
センスのあるヤツが、レベルの高いところではうじゃうじゃいて、
しかもさらにその上に勤勉だったりする。
そういうヤツらからすると、やっぱり貴兄は、厳しいかもしれないが、

お呼びでない

ということになってしまうだろうね。

170 :仕様書無しさん:2014/12/28(日) 22:31:40.41
やっぱりきちんと構造化されたプログラムは安心出来る

171 :仕様書無しさん:2014/12/29(月) 00:47:34.34
センスのある人がダダーっと一気に作り上げたモノは、それなりにちゃんと読めて動く
無い人がじっくり作り上げたモノは意外と汚く、動かないこともしばしば

前者は「頭の中で考えて即コードにしている」からなのか
後者は「コピペをつなぎ合わせるのに悩んだ」からなのか

172 :仕様書無しさん:2014/12/29(月) 11:25:16.18
とにかく部品になってることね

プリプロセッサでコードのコンパイル部分を
切り替えるのは禁止にして欲しい

あれ害悪だよ

173 :仕様書無しさん:2014/12/29(月) 11:43:38.06
> コードを書いて、レビューのときに、「こうするとこうも動きます」みたいな
> プレゼンをすればいいのだ。
むだなことだよね。

174 :仕様書無しさん:2014/12/29(月) 11:49:55.19
>>168
・バグだらけのコードを書いて後から一生懸命直してるやつ
・最初からバグの少ないコードを書くやつ
客から好まれるのは前者だったりする。

175 :仕様書無しさん:2014/12/29(月) 12:44:44.51
うむ、適度に不具合を出しておかないと客との接点がなくなる。

176 :仕様書無しさん:2014/12/29(月) 22:42:00.51
>>173
うん、君がやっても無駄かもしれない。
俺はそれが得意だって話。
「こうもできます」を見せて嫌われないキャラかどうかが大事ってことを
書くのを忘れていた。コミュ力に自信がない人にはお勧めしない。

177 :仕様書無しさん:2014/12/30(火) 13:51:56.94
>>176
自賛を否定しながら結構な勢いで自賛してますな。
感服つかまつりますた。

178 :仕様書無しさん:2015/01/01(木) 08:58:56.58
>>174
そりゃそうだ、客からすりゃ、
瑕疵責任で直させるのはタダだからな。

179 :仕様書無しさん:2015/01/01(木) 13:32:00.19
そういうことを言ってるんじゃないと思うがw

180 :仕様書無しさん:2015/01/06(火) 13:46:36.50
つまりこの仕事は
困った時にどれだけ助けてくれるかなんだよ
そこが客に評価される

181 :仕様書無しさん:2015/01/06(火) 20:35:44.30
>>180
ということは、客が困る状況を意図的に作り出して、
その対策は前から準備しておくというスキルの高い人が
結果的に信頼されるということだよね。

実際にそうだし。

客が困る状況を先手先手でつぶしても評価は低い。
でも火を吹いたときに、いっしょに朝まで対策会議につきあって
あげたりして、いっしょに困ったり悩んだりするフリの
できるヤツはいろいろお声がかかるよね。

プログラムがいくら作れても、こういう腹芸ができないと
一生便利に使われていつかポイ捨てされてしまう。

182 :仕様書無しさん:2015/01/06(火) 22:16:22.86
意図的でなくても客の要望を見越した先手を打てるプログラマだな

時々、OSや言語の癖を知らない人間がソフトの作り方まで決めてると
その余計な要望・設計を達成するために書きたくもない多くのゴミコードを
書かなくてはいけなくなることもあるから辛い
客先承認前だったらいくらでも口出せるが

183 :仕様書無しさん:2015/01/08(木) 12:08:53.57
>>181
それは違うよ
客だってバカじゃないから仕方なく発生してものか、
発生したら能力を疑われるやばいものかぐらいの区別はつくさ

あくまでいろんなしがらみな仕様の穴から発生したトラブルを
如何に早く性格に対応するかがカギ

つかそんな文章書くオマエって本当にプロなの?

184 :仕様書無しさん:2015/01/08(木) 20:55:03.91
>>183
お前こそ、アマの甘ちゃんだなあw

ま、せいぜい誠心誠意、客に尽くして、お前じゃない誰かを経済的に豊かにする
ための奴隷としてプログラミングという技能を利用されるがよかろう。

プログラミングを仕事にしていると、やっていることが確かに
頭脳労働だから、人に儲けさせるための奴隷になっていることに気がつき
にくい。

ま、大多数の人はそうやって生きてるんだからいいじゃないの?




















俺は違うけどねw

185 :仕様書無しさん:2015/01/08(木) 20:55:10.05
一日中アニメのこととか歴史のこととか考えてて
仕事なんだったか全然覚えてない
でもなんか成果物は積みあがってる

今日のしごとも妖精さんがやってくれた

186 :仕様書無しさん:2015/01/08(木) 22:10:39.51
>>184
オマエが奴隷なんじゃないの?
なんかそう思わされて客にうまく使われてるだけに見える
知識なさそうだし

187 :仕様書無しさん:2015/01/08(木) 22:29:02.52
ttp://www.atmarkit.co.jp/ait/articles/1501/07/news014.html
ユーザーが資料をくれないのは、ベンダーの責任です

裁判でこんな判決出るんだから、情シスやら情シスがない普通の会社なんて
簡単に腐るよなあ。

188 :仕様書無しさん:2015/01/10(土) 06:43:03.33
>>186
君にどう思われようが私は痛くも痒くもない。

189 :仕様書無しさん:2015/01/11(日) 07:30:48.92
社畜はみんな奴隷

190 :181:2015/01/11(日) 11:13:28.44
>>189
>先手を打てるプログラマ

そうなんだよ。俺の言いたかったこと、まさにそれ。俺、昔だけど、WEB系の
広告代理店に常駐してたことがった。その社長が電通出身で、電通の社訓を
朝礼で話したことがった。その中に
仕事とは、先手先手と働き掛けていくことで、受け身でやるものではない。
というのがって、これをプログラマーとして俺は実行しているだけだ。

ちなみに俺は今は誰にも雇われていない。
自分でサービスを10個ぐらい回して、それでメシ食ってる。

昔、派遣プログラマーやってたときは、ある現場に入って初日の
午前中に嫌になって、昼休みに行方不明になったことがあるw
つまらない仕事に耐えられない性格なんだな。

みんなよくつまらない仕事を我慢してやって、
人生を無駄にして生きていられるよなと思う。

191 :仕様書無しさん:2015/01/11(日) 13:22:05.10
センスある人って1年目から片鱗を見せつけたりするんですか?

192 :仕様書無しさん:2015/01/11(日) 13:45:59.05
片鱗というか他を圧倒してる

193 :仕様書無しさん:2015/01/11(日) 13:51:37.01
それくらいじゃないとSEで食べていくのは難しいですよね…
勉強や経験で補うことは可能なんでしょうか

194 :仕様書無しさん:2015/01/11(日) 14:22:42.53
簡単な事で、プログラムを趣味にすれば良い。

195 :仕様書無しさん:2015/01/11(日) 14:23:09.89
そんなことに悩んでる暇があったら自分のワークフローを見つめ直す作業をした方がいい。

196 :仕様書無しさん:2015/01/11(日) 14:31:03.74
>>193
SEで食べていくのは簡単。
プログラミングが出来ない人がやる仕事で、
基本的な仕事は、搭載する機能を決めるだけ。

197 :仕様書無しさん:2015/01/11(日) 14:42:28.16
ワークフロー改善は作業時間に対して複利が付くので是非やったほうがいい。
一方単純なスキルアップは常に複利で効率が良くなっていくわけではないので、
「このスキルがあったらこのワークフローが実現できるからこのスキルを勉強する」の観点で勉強をするといい。

198 :仕様書無しさん:2015/01/11(日) 14:44:51.39
一番いいのは自動化。
自分の仕事をシステム化する。

自分の仕事のシステム化ができないやつが
他人の仕事のシステム化ができるわけがないのだ。

で、プログラムセンスというか技術がないやつは
自分の仕事をシステム化することも出来ない。
コピペとかエクセルで仕様書作ってる奴とかが当てはまるね。

199 :仕様書無しさん:2015/01/11(日) 14:47:02.67
>>198
その通りだね。

200 :仕様書無しさん:2015/01/11(日) 14:53:27.85
自分の仕事をシステム化するのに必須な能力っていうのは
仕事を効率化するシステムをサーバーに導入したり、
システムを作ったりできる能力なんだよね。
そもそもそれを客に提供しているわけで。

自分個人の仕事のシステム化を、代わりにやってくれる部署が
内部にあればそれを使ってもいいがまあ普通はない。
自分の仕事の効率化は自分でやるもの。

その時に、こんな機能が欲しいって、仕様をまとめるだけじゃ
成り立たないんだよ。実際のその機能を作り上げられなきゃね。
自分一人でそれが出来ますか?

201 :仕様書無しさん:2015/01/11(日) 15:16:24.84
出来ない人とかいるの?

202 :仕様書無しさん:2015/01/11(日) 15:19:04.40
いる。プログラムできない。
サーバーの設定できない。
技術的なことは何もできない人がいるんだよ。

203 :仕様書無しさん:2015/01/11(日) 15:35:06.49
先手を打っても本人を含め正しく認識でき、評価できるわけでもないのがいくつも
あるからなあ。 例えばCIなんかがよく注目されたりしているけど、エンジニアでも
そういうのの恩恵をあまり理解できない人はいるし、最初からそういう環境を用意して
開発を進めると更に理解されない。 問題のあった環境を改善すると理解や評価は
されるが、最初から問題の無いように進めると無いのが当たり前だと思われるのが
ねえ。問題を起こさないための普段の習慣や開発プロセスを誰が評価してくれる
のでしょうかと。

ただ例えば工場なんかで無事故連続○日が評価基準みたいのになったりすると
見かけ上続いているように見せるためにもみ消しが出たりするわけでそれ自体を
目的やら評価になるのは間違えなのがなあ。

204 :仕様書無しさん:2015/01/11(日) 15:41:43.35
すごくモヤモヤしてる人だなぁw

205 :仕様書無しさん:2015/01/11(日) 19:45:07.79
>>203
これってプログラムの仕事じゃなくても同じことが言えますよね?

206 :仕様書無しさん:2015/01/12(月) 00:25:03.45
自動化できるところとできないところを
切り分けできない人ってセンスがないって感じるかな?

そういう人っていっくら知識や経験を積んでも
自動化できるものとできないものが存在するってところからして
受け入れることができないみたいでいっつもバカな成果しか上げられない

207 :仕様書無しさん:2015/01/12(月) 00:53:13.75
>>206
そういう人は自動化以前に関連性のないものを分割するってことが出来ない人
なんだと思うよ。

208 :KAC:2015/01/12(月) 01:00:40.55
センスの話を文章にしようとするのがそもそも間違いなのでは・・・?

わかりやすい設計ができるかどうかは
センスと呼んでいいと思うけど、
こんな所で説明できる内容じゃないだろう。

209 :仕様書無しさん:2015/01/13(火) 21:34:24.51
>>188
だったらぐちぐち言うな

210 :仕様書無しさん:2015/01/14(水) 02:16:20.52
何このセンスのなさ

211 :仕様書無しさん:2015/01/14(水) 19:34:36.92
楽をするために努力するとか言っちゃってる人はセンスないなあって思う
本当にプログラミングセンスがある人は楽をするために何もしない

212 :仕様書無しさん:2015/01/15(木) 00:52:55.85
>>211
え?

213 :仕様書無しさん:2015/01/15(木) 05:30:03.16
>>211
さすがに意味がわからん

214 :仕様書無しさん:2015/01/15(木) 10:36:02.51
うまく言語化できないけど「このロジックなんかやばそうじゃない?」みたいな
勘が働くことはある。そしてよくあたる。あれはなんでだろう。

215 :仕様書無しさん:2015/01/15(木) 12:45:17.69
>>213
いや分かるたろw何もしない方が楽に決まってるじゃんw

216 :仕様書無しさん:2015/01/15(木) 12:50:07.12
>>215
無能乙

217 :仕様書無しさん:2015/01/15(木) 17:28:41.05
有能「本当にプログラミングセンスがある人は楽をするために何もしない」

218 :仕様書無しさん:2015/01/15(木) 21:46:59.55
有能「何もしない」

219 :仕様書無しさん:2015/01/16(金) 00:05:33.53
意味不明

220 :仕様書無しさん:2015/01/16(金) 00:16:34.05
結論 なにもできない奴は有能

221 :仕様書無しさん:2015/01/16(金) 08:00:59.73
有能なプログラマは、具体的な必要に対してminimalなコードを書く。
楽をするためと称していつ役立つのかわからないコードを書いたりしない。
ってのなら聞いたことあるしその通りだと思う。

222 :仕様書無しさん:2015/01/16(金) 21:05:05.92
>>221
それをポリシーにしてた奴が穴だらけのシステムばかり作って尻拭いが大変だった
必要なことしか書かないというか、必要なことの一部しか書かない奴

223 :仕様書無しさん:2015/01/16(金) 21:16:10.56
>>222
それはminimalじゃないだろ・・・
理解できてない?

224 :仕様書無しさん:2015/01/16(金) 22:42:23.64
>>223
最小限過ぎてあらゆる処理に汎用性がなくて
一つの改造にもライブラリを含む様々な部分の修正が必要になったりな
結局汎用性ない&部品化されてない&後から部品化しようにも部品化を想定して作られてないから面倒
だからそいつは同じソース内で部品化すべきコードをコピペして
同じような処理を何個も書くという暴挙をやらかす
結果的に改造が入れば入るほどスパゲティよりも酷いソースに

225 :仕様書無しさん:2015/01/16(金) 22:47:18.21
>>224
完全に理解できてない

226 :仕様書無しさん:2015/01/16(金) 22:59:47.85
>>225
理解してるのは他でもない、君一人だけさ

227 :仕様書無しさん:2015/01/16(金) 23:04:00.97
>>223
本人は必要なことを無駄なく最小限に全て書いてるつもりだけど、全然全てじゃなかった
無駄はないけど、むしろ不足

228 :仕様書無しさん:2015/01/16(金) 23:08:22.32
うん、それはminimalでもなんでも無いよね?

229 :仕様書無しさん:2015/01/16(金) 23:12:58.99
>>228
君も同類ってことさ

230 :仕様書無しさん:2015/01/16(金) 23:22:12.90
そういうminimalだかのポリシーを明確に持ってる奴ほどセンスは微塵もない
センスってのは無意識に出てくるもの
プログラムコードを書いてる時のプログラマーの姿を見れば
センスのあるなしなんて誰の目にも一目瞭然だよ、コードを見るまでもなくね

231 :仕様書無しさん:2015/01/16(金) 23:23:26.51 ID:oloNx6g0
>>229
おまえ絶望的にセンスないよね

232 :仕様書無しさん:2015/01/16(金) 23:29:18.07
>>231
服のセンスはいいと思うよ、プログラムセンスはないけど

233 :仕様書無しさん:2015/01/16(金) 23:32:12.82
>>230
ごめん。なに言いたいのか全くわからんのだが。
他人のはなし理解できない?

234 :仕様書無しさん:2015/01/16(金) 23:39:46.26
>>233
他人の話が理解できないと暴露した君が
他人には自分の話の理解を強要するという

235 :仕様書無しさん:2015/01/16(金) 23:45:21.76
新人でも理解出来るコーディングが出来る人はセンスがあると思う。
しかも「俺スゲー」的な○○年選手が書いたコードと処理能力が変わらないか若しくは優れているとか

素直な記述が(かなりの割合で)保守も含めて一番適しているというのを教えてくれた

236 :仕様書無しさん:2015/01/16(金) 23:52:10.03
>>235
是非その2つのコードを見てみたい

237 :仕様書無しさん:2015/01/17(土) 00:06:21.45
コードの読みやすさとアプリの優劣は比例しない
コードが見易くてもセンスのかけらもないゴミ同然のアプリが大多数
一方で優れたアプリはコードも優れてるのは確かだけどな
ゴミコードで優れたアプリはどうあっても書けない

238 :仕様書無しさん:2015/01/17(土) 00:06:45.95
コーディングセンスに優劣はない、プログラミングセンスに優劣があるだけ

239 :仕様書無しさん:2015/01/17(土) 00:14:53.10 ID:0zaRnmPZ
>>238
その通り、だから>>230

240 :仕様書無しさん:2015/01/17(土) 00:25:19.19
>>239
おまえに賛同されるとすごく嫌な気分になるな

241 :仕様書無しさん:2015/01/17(土) 00:48:35.07
>>240
それは見下すことができない相手だからだよ
結果そのように距離をとって罵声をぶつけることしかできない

242 :仕様書無しさん:2015/01/17(土) 01:01:42.66
いや、どんな嫌味もセンスよくさらっと返されてしまうからだな

243 :仕様書無しさん:2015/01/17(土) 09:48:02.19
ある程度大局みないとセンスの良さは判らないよなあ

244 :仕様書無しさん:2015/01/17(土) 10:10:42.23
「楽をするために時間をかける」ってことの意味が
わからない奴はセンスが無いよなw

245 :仕様書無しさん:2015/01/17(土) 10:18:53.04
>>235
> 新人でも理解出来るコーディングが出来る人はセンスがあると思う。
ここでよく勘違いするやつが多い。

・新人でも理解できるコードと
・新人でも理解できる文法

この二つをごっちゃにしている奴が多い。

まずプログラマは技術職なのだから、特殊な技術を持ってる。
その一つが、プログラム言語の文法を知っていること。
これは大前提で、知らない奴はプログラマじゃないんだよ。

つまり先の文は

・新人プログラマでも理解できるコードと
・(少しプログラムをかじった程度の)新人一般人でも理解できる文法

とういうことになる。

(文法をちゃんと知っている)新人プログラマが理解できるコードは良いコード
だけど、新人一般人でも理解できる文法だけで書こうとするコードは悪いコード

つまりね。(新人一般人は)わからないからプログラム言語の高度な文法を使うのはやめましょう。
たとえば、クラスを使わない、三項演算子をつかわない、クロージャーを使わない。みたいな考えは間違いという話。

プログラマである以上、文法を知っているのは最低限求められることで、
文法をちゃんと知っている人にとって理解できるコードを書きましょう。

言い換えると、「文法を知らないから自分が読めない」という技術力の低さを
コードが分かりにくいと、コードのせいにするのはやめましょうって話。
っていうか新人一般人を甘やかすな。お前の技術力が低いんだからお前が努力しろや。

246 :仕様書無しさん:2015/01/17(土) 12:39:14.52
ごっちゃにしてる厨きたw

247 :仕様書無しさん:2015/01/17(土) 12:59:03.87 ID:MnneNDD+
>>245
一人だけ文法のところで留まってるのね。
みんなはもう先に行っちゃったよ。

248 :仕様書無しさん:2015/01/17(土) 13:34:22.15
わけのわからん俺理論で回りを見下して
俺が凄いって言ってるやつってひでぇのしかおらん

249 :仕様書無しさん:2015/01/17(土) 18:23:37.19
とりあえずインデントすら揃えられない奴はセンス無いと思う

250 :KAC:2015/01/17(土) 21:15:48.48
プログラムに限らずセンスがあるかどうかを判断するには
最低限の知識は必要なんだから、こんな所でとやかく言うのが間違い。

たとえば日本語の場合でも。
「上野発の夜行列車おりた時から青森駅は雪の中」
このフレーズの作者のセンスが理解できるかどうかは、
日本語が使いこなせるかどうかとはまたべつの問題だろう。

プログラムでも同じで、「センスがある」と理解するには
せめて意図を理解出来るだけの知識が必要なんだよ。

251 :仕様書無しさん:2015/01/17(土) 21:26:09.87
少なくともカタブツにセンスはない

252 :仕様書無しさん:2015/01/17(土) 21:30:07.12
>>251
自己紹介はいいから

253 :仕様書無しさん:2015/01/17(土) 23:33:16.28
俺はセンスないんだが、開発スキルについて反省点とか整理して
どう修正していくか、また何を学べば対応出来るか全然分からないだよな
皆はどうやって問題点を修正していってるんだ?他人のフリ見て我がフリ直せって感じ?
それとも本や転がってるソースコードを読みまくっていい所を盗んで実践してる?
もはや監督、コーチがついてもらわないと何やっていいか分からないレベルに陥ってる

254 :KAC:2015/01/17(土) 23:54:37.51
>>253
とにかく経験が一番。

巨大プロジェクトのように1サイクル数年とかじゃなければ
反省点を改善していくことはできるだろ。
プログラミングだけに限って言えば、個人で色々作りまくるべし。
経験積まないと他人のソース見てもいいところを吸収できないよ。

255 :仕様書無しさん:2015/01/18(日) 00:04:21.42
>>253
だめなソースコードを見て、
それをパクってなるべく変えないようにして
無理やりつじつま合わせて動いたらOK

そして、そのソースコードを見て
別の人が・・・以下繰り返し

256 :仕様書無しさん:2015/01/18(日) 00:12:18.35
そろそろセンスがある人の例をどうぞ

257 :仕様書無しさん:2015/01/18(日) 00:17:44.90
>>254
職場での実践以前に出来ること他にないかな?
個人趣味ではAndroidアプリ作ってるけど何かが改善してるとか向上してる感じがない

258 :KAC:2015/01/18(日) 02:58:51.51
>>257
昔作ったプログラムをもとにして新しい機能拡張するとかは有効。
読みやすさとか部品化対策とか色々な観点から反省点が見えてくるはず。

あと、RFCとか探してちょっと大きめの仕様を実装してみるといい。
楽に作るための工夫とか、いろいろ身につけられるだろう。

259 :仕様書無しさん:2015/01/18(日) 13:20:04.41
>>258
なんかあれだよね
結局自身の持ってるものがベースにあるのが前提の話で
自分を改めるって意味では効果が謎な気がする

260 :仕様書無しさん:2015/01/18(日) 15:09:49.07 ID:JddFboqr
>>254
>とにかく経験が一番。
ここには禿げ上がるほどに同意する。

261 :仕様書無しさん:2015/01/18(日) 18:11:47.03 ID:TfYRb7sn
綺麗なコードがかきたくて
どんなに努力しても、
参考書を読んで言うとおりに組んでも
クソの山にしかならずに悩んでた

実務でいいコードかいてる人のコード見て
循環依存が駄目って気づいてすべてが解決した。

あんまり基本的すぎて誰も教えてくれなかったんよ…


というわけで、センスとか関係ないと思う
大事なのは正しい方法についての知識があるかどうかだ

262 :仕様書無しさん:2015/01/18(日) 18:39:27.79
ここで語られてるのってプログラムセンスというよりコーディングセンスだな

263 :仕様書無しさん:2015/01/18(日) 18:44:35.53
>>261
いや、その程度で全ては解決してないだろ。

264 :KAC:2015/01/18(日) 19:05:43.92
>>259
> 結局自身の持ってるものがベースにあるのが前提の話で

それはある程度しかたない。
良いものを吸収できるかどうかは結局自分次第なんだから。

小学生の頃、読書感想文書いてもなにが良くてなにか悪いのか
さっぱり理解できなかったろ?

265 :仕様書無しさん:2015/01/18(日) 19:09:29.42
>>263
俺の場合はけっこう解決したw

いやほんと、他のことは大体できてたんだよ
そこにだけ気が付いてなかったせいで、全てが台無しになってたんだ


そのとき体系化された知識と、周囲の環境が大事だってほんとに痛感した。
独学とセンスだけじゃどうしても大穴が開いてることあるから
センスだけに頼ってる奴はそのうち頭打ちになる

266 :仕様書無しさん:2015/01/18(日) 19:26:13.34
>>265
全てを悟った気になってることが一番の大穴

267 :仕様書無しさん:2015/01/18(日) 19:47:21.08
センスって言葉が大嫌い。

ある人がセンスがあるって言う時
つまりその人の何がよくて、何が駄目なのか
何一つ具体的に説明できないってことでしょ?

その上センスがないっていうときは具体的には何も指摘できないくせに
その人について全否定してるだけという

物事を正確に捉えて特徴を抽出するなんて、まさにプログラマーにこそ必要なスキルなのに。


だからセンスって言葉を聴いたら、ああこいつは何一つ理解してないんだと思うことにしてる

268 :仕様書無しさん:2015/01/18(日) 21:05:48.48 ID:aQ74iI07
>>265
めんどくせーやつだな。

一言で語れないほどの沢山の理由があるから
まとめてセンスって言ってるんだろ。

269 :仕様書無しさん:2015/01/18(日) 21:11:48.55 ID:x3NP6sUc
>>267
君は抽象化のセンスがない。
何故なら、君は早まった一般化という誤りをおかしている。

270 :仕様書無しさん:2015/01/18(日) 21:29:29.10
>>267
センスってのは形がはっきりしないんだよ、言うなれば「魅力」
魅力は人によって感じ方は変わる
デザイナーの仕事、デザインセンスも人によって理解される人と理解されない人がいる、それと同じ

ただ一つ言えることは、その人の何かの仕事振りが常人よりも抜きん出ていて
素直に「凄い」とか「素晴らしい」といった魅力を感じる人がいたのなら、それがセンス
魅力を感じてる人が多ければ多いほどセンスがあると言える
プログラマならアプリでも作って公開してみればランキングとして明確にわかる
コーディングの美しさを見て欲しいならネットに公開すれば何かしら反響はあるだろう

そして、同じ職業の人が集まると、他人のセンス(魅力)を認めたくない人が必ず現れる
ブスが美人を妬むのと同じ、自分がどれだけ努力をしても持てないものを持っている凄い人を見ると
気に入らないとか、腹が立ってしまう心理

エジソンは良いことを言った。1%のひらめきと99%の努力。
他の人にはないひらめきもセンス(魅力)の一つだから置き換えられる
センスがなければ努力も無駄だが、センスだけあっても努力しなきゃ光らない

センスのある人は、人一倍どころか人の何倍も努力してるんだよ

271 :仕様書無しさん:2015/01/18(日) 21:35:57.87
もっとも、努力もせず(若しくは少ない努力で)簡単に得ることができたもの、
たとえば生まれついての恵まれた環境であったり身体的な差はあまり魅力には繋がらない
人並みの努力があってこそ光るのがセンス

272 :仕様書無しさん:2015/01/18(日) 22:15:00.97
いつからセンスが魅力になった?

273 :仕様書無しさん:2015/01/18(日) 23:22:22.30
調べる、まとめる、整理する、見つける、こういうのは方法知れば
ある程度は身につくと思うけど最後はセンス必要だと思う

274 :仕様書無しさん:2015/01/19(月) 00:04:02.60
ナルシストな>>272は他人の魅力を認めたくないブスタイプの人だな

275 :仕様書無しさん:2015/01/19(月) 00:13:46.87
潜水艦

276 :仕様書無しさん:2015/01/19(月) 01:38:34.14
運動センスという言葉の
センスとはどういう意味だろうか?

その意味は誰にも正確に答えられないが
運動センスがある人はほんとうにいる

277 :仕様書無しさん:2015/01/19(月) 06:21:38.17
扇子

278 :仕様書無しさん:2015/01/22(木) 14:35:53.96
運動センスの有無というか、動きの幅の広さ・奥行きを
感じさせるのは体や筋肉の柔軟さがある人ですね。
そういった意味で、プログラムのセンスの有無もどこかしこには
存在していると思います。

279 :仕様書無しさん:2015/01/23(金) 21:57:44.37
どういった意味や?

280 :仕様書無しさん:2015/01/24(土) 08:11:45.65
今担当してる案件は前任者のセンス無いよ
センスっていうか知識が無いまま作ったんだな感じ
渡す引数変えたのに、下位の下位の下位の…関数ではその値を直接参照してたりとか
1つの配列で名前列挙してもう1つの配列の参照位置を検索してたりとか(連想配列使えや)

しかも過去案件との比較差異でドキュメントとか納品するからソースは可能な限り改変しないルール
下請けの下請けだから勝手に「変更しました」すると余計に面倒なことになるという

281 :KAC:2015/01/24(土) 08:46:09.78
>>280
最後の二行にセンスのなさを感じる。
もうひと工夫してみ?改善できるから。

282 :仕様書無しさん:2015/01/24(土) 12:42:03.79
ここは是非センスがある人にご教示願いたい

283 :仕様書無しさん:2015/01/25(日) 19:59:59.38
うまく言えないが、個人的にはセンスのあるプログラマーってこういう人だと思う。

職場で、数人のプログラマーチームで仕事をするときに、
クラスやメソッドの切り分け方や変数の名前のつけ方といった、
まさにプログラムコードの書法と、その人の仕事の進め方や作ったコードの
説明などの他メンバーとのコミュニケートのスタイルが、うまくリンクしている人

というイメージ

独りよがりなコードを書いといて「読めば分かるから。」みたいに投げっぱにする人も
ダメだし、とはいえ、周りと仲良くすることだけを考えてコードに全く個性を出そう
としない人というのもだめ。

たとえば、既存のメンバーが作った100行のコードを、あるプログラマーが
リファクタしたら10行になったとする。

でも、他のメンバーへのコミュニケーションの仕方が悪いと、コミットさせて
もらえなかったりするよね?

だから、尖ったコードを書けるという資質が1つ目としてあって、
かつその人の他のメンバーへの伝え方がうまいという資質が2つ目としてあり、
この1つ目と2つ目がバランスのよい人はセンスがあると思う。

284 :仕様書無しさん:2015/01/25(日) 20:10:35.43
俺は多少くどくても分かりやすくコーディングするスタイルだな
そうしないと自分でも分からなくなるから
もちろんその職場のコーディング規約とか既存の記述に合わせる
個性がないと言われてもそれがいいと思ってる

でもなまじ出来る奴ってこの方が効率がいいとか言い出して
無理に直させようとするんだよなぁ
それなら後で自分でリファクタリングしろよって思う

285 :仕様書無しさん:2015/01/25(日) 21:07:29.76
時と場合のよるけど、俺は基本的にコードの効率化重視だな。
演算や配列使えばダイレクトに書けるもので判定文を使いたくない。
分かりにくそうだったら、コメントに書くし。以下一例

// xが0なら1、1なら0にするんだよ〜ん
// if (x = 0) {
// x = 1;
// }
// else{
// x = 0;
// }
x=1-x;

286 :仕様書無しさん:2015/01/25(日) 21:19:49.34
俺は基本的にアーキテクチャの効率重視だな。

287 :283:2015/01/25(日) 22:14:35.50
>>285

俺なら、
> // xが0なら1、1なら0にするんだよ〜ん
は、

x ^= 1;

と書くだろうな。

288 :仕様書無しさん:2015/01/25(日) 22:24:36.88
// x ^= 1
x = 1 - x;
は?こう言うこと?

289 :仕様書無しさん:2015/01/25(日) 22:29:57.84
それか、変数 x が 値として0か1しか持たないという
前提があるのであれば、x はboolean 型にして、

x = !x;

という手も思いつくね。

290 :285:2015/01/25(日) 22:37:08.88
>>287
うん、それで良いと思うよ

291 :仕様書無しさん:2015/01/25(日) 22:37:29.47
>>283
> でも、他のメンバーへのコミュニケーションの仕方が悪いと、コミットさせて
> もらえなかったりするよね?

そんなことはないが?

拒否するのはいいとして、理由はなんて書くんだよ?

292 :仕様書無しさん:2015/01/25(日) 22:42:04.23
>>291
まあ、そうムキになるなよ。

293 :仕様書無しさん:2015/01/25(日) 22:45:34.54
0なら1、1なら0にしろ、と言われて
x ^= 1;
のようなビット演算が思いつくかどうかはセンスというよりも
どっちかというと知識だろうね。
ブール代数知ってれば、手が勝手に ^= と打つ。

294 :仕様書無しさん:2015/01/25(日) 22:45:54.35
どれが一番センスあるの?

295 :仕様書無しさん:2015/01/25(日) 22:46:18.54
>>297-299
効率化の手段は実はどうでもよくて
「何をしてるのか」をコメントとコードで意味を一致させれば、伝わるっしょ?、ってこです。

後付けになっちゃうけど
// if (x = 0) {
は、お気づきのとおりC言語としては間違いで
// if (x == 0) {
なんですが、でも言わんとしていること伝わったでしょ?w
(ちなみに上記は「本当にただの間違い」です、ゴメンナサイ)

296 :295:2015/01/25(日) 22:48:33.22
>>297-299
じゃなくて>>287-289
でした...
さっきのタイプミスといい、俺もうだめぽだ、寝る...

297 :仕様書無しさん:2015/01/25(日) 22:53:32.58
>>295
>「何をしてるのか」をコメントとコードで意味を一致させれば、伝わるっしょ?

には同意なのですがその例として、

// xが0なら1、1なら0にするんだよ〜ん
x = 1 - x;

っていうのは、どうなの?っていう。
// xが0なら1、1なら0にするんだよ〜ん
っていうコメントの意味は、
フラグ変数 x を反転させる
ってことでしょう?
だったらなるべく「反転」そのものがコードのテキスト上に現れているほうが
よくて、
今あがっている例だと
x をboolean にして

x = !x;

が好きだな。その場合コメントも
// x を反転させるよーん
にすべきだが。

298 :仕様書無しさん:2015/01/25(日) 22:55:30.62
>>292
ムキになってるのお前じゃん?

俺はただ質問したのに、
何だそのレスw 答えられないのかw

299 :仕様書無しさん:2015/01/25(日) 22:56:25.45
>>298
煽っても誰も得しないから

300 :仕様書無しさん:2015/01/25(日) 22:56:34.50
まあ、xが0のとき1にして、1のとき0にするコードを書かなきゃいけないときに

x = 1 - x;
x ^= 1;
いっそxをboolean にしてx != x;

ぐらいが瞬時に思いついて、一番、読みやすいのはコレという判断を
間違わないというのがセンスだと思う。

x = 1 - x;

がしっくりくるような場合だって当然あるだろうし。

301 :仕様書無しさん:2015/01/25(日) 22:57:11.54
>>299
だね。質問に応えるべき。

コードを拒否する場合でも、その理由を書くべきなわけで、
どういう理由で拒否をするんだろうね。

302 :仕様書無しさん:2015/01/25(日) 22:59:53.17
前にもどこかで書いたけど、コードが読みやすいか読みにくいか?の
議論をする時「俺は無知だから」を理由にしてコードが
読みにくいっていうのは理由として言ってはいけない事。

無知ならば、それはその人の問題であり
コードの問題ではない。

無知だからを理由にすると際限なくコードの質が下がってしまう。

素人を甘やかしなさんな。

303 :仕様書無しさん:2015/01/25(日) 23:00:02.39
ある目的を達するコードを書かなきゃいけないときに、
たくさんの実装方法を思いつくことができて、かつ、その中で最も
そのコードの背景に沿ったものを選ぶことができることをセンスと
いうのであれば、まずたくさんの実装方法を思いつくことが前提で、
そのためには基礎知識が必要ということだね。

304 :仕様書無しさん:2015/01/25(日) 23:01:42.19
遅レスだが
>>291
>そんなことはないが?
というのが、291の思い込みなので答える必要はないと考える。

305 :仕様書無しさん:2015/01/25(日) 23:05:35.19
>>302
> 議論をする時「俺は無知だから」を理由にしてコードが
> 読みにくいっていうのは理由として言ってはいけない事。
そんな人例えいたとしても、ごく一部じゃね?
そもそもそんなレベルの低い人の意見なんか誰も聞かないと思うけど。

306 :仕様書無しさん:2015/01/25(日) 23:05:35.82
まあ、
x=1-x;

x ^= 1;
にリファクタするだけでこんなに揉めるんだから
実際の現場で、よりよいコードにしたからといって
それが受け入れられるかはまた別問題だよね。

307 :仕様書無しさん:2015/01/25(日) 23:11:10.48
センスがあるってことは、センスのないヤツが100行で書いたものを
10行にできるってことだ。でもそれを、センスのないヤツの嫉妬みたいなもので、
寄ってたかって潰されないように、
うまく提案するというのもセンスだっていう、そういう話をしている。

308 :仕様書無しさん:2015/01/25(日) 23:16:44.70
>>304
> というのが、291の思い込みなので答える必要はないと考える。

それを言ったら、

> でも、他のメンバーへのコミュニケーションの仕方が悪いと、コミットさせて
> もらえなかったりするよね?

が、そもそも>>283の思い込みなので、
説明する義務があるんだよ。

309 :仕様書無しさん:2015/01/25(日) 23:22:17.22
>>307
寄ってたかって潰されるなら、それはセンスのないコードなんだよ。

310 :仕様書無しさん:2015/01/25(日) 23:22:57.71
>>308
>説明する義務がある

というのもまた君の一方的な思い込みに過ぎないなあ。

それよりも、どうしたんだ?

やけに噛み付くけど、
コードの良し悪しよりも、それをうまくメンバーに伝えることに関して
何か苦い思い出でもあるのかなと、ちょっと心配になります。

311 :仕様書無しさん:2015/01/25(日) 23:28:58.25
こうやって意地の悪いのが職場にいるから
コミュニケーションなんて円滑にいかないわけよ

312 :仕様書無しさん:2015/01/25(日) 23:29:42.39
>>309
それは違うよ。

と言いたいが、まあ僕と君では働いているチームの人数とか、それぞれの
プログラマーの能力の高さが違うだろうからなんともいえない。

313 :仕様書無しさん:2015/01/25(日) 23:32:37.69
>>311
なんだなんだ?もう降参か?ほんとに心配してあげているんだけど?

314 :仕様書無しさん:2015/01/25(日) 23:41:11.30
>>313
お前いっぺん死ねや

315 :KAC:2015/01/25(日) 23:51:50.92
>>285
コメントに書かれた内容と実際の処理が異なってるのは感心しない。
「処理読めばわかるだろ」と考えているのなら、そもそもコメントが必要ない。

コメントに書かれてるif文の処理は、x=2 の時に0になる。
なので、>>285>>287は正しくない。

他の人も書いているが、C言語系の処理なら
 x = !x ;
 x = x == 0 ;
など、論理演算を活用して想定外の動作に備えるべき。
もしくは、不用意なコメントの書き方を考えなおすべき。

316 :仕様書無しさん:2015/01/25(日) 23:51:52.66
>>313
聞かれてるんだから答えてあげたらいいがな。
既存のメンバーが作ったコードをリファクタしてコミットさせてもらえない理由は、
「出来上がってるコードを勝手に書き変えんな」とかだろ。
そんなものさらっと答えないきみに問題ありと思う。

317 :仕様書無しさん:2015/01/25(日) 23:58:49.19
>>316
>「出来上がってるコードを勝手に書き変えんな」とかだろ。

いや、そんな単純な話ではないので、
>問題あり
など言われるのは心外だな。

ただ、このスレは単にコードの書法上のセンスうんぬんの話に
閉じたいようなので、僕のように、良いコードを書いてもそれを
納得してもらえる筋道を作れないとダメとかっていう話は
少々、話が高度過ぎたようだ。そこは申し訳ないと思う。

318 :仕様書無しさん:2015/01/26(月) 00:07:13.27
こいつ本物の基地外だわ。

319 :仕様書無しさん:2015/01/26(月) 01:07:30.15
>>318
自己紹介ですか?

320 :仕様書無しさん:2015/01/26(月) 07:30:21.49
センスを磨いて美しいコードを書くと、周りから疎まれて、チームがモメる

ということをまさにこのスレが再現しているという皮肉

321 :KAC:2015/01/26(月) 08:14:11.72
そもそも「美しいコード」を誤解してる奴が多すぎるんだろう。
"無駄が無く、機能を満たす"という最低条件に捕らわれ過ぎて
いつの間にか"短いのが美しい"と誤解されているように思う。

その結果、必要な保守性や拡張性を削ったり、
酷い時にはもとの処理と動作の違うものになってたりする。

美しいコードを正しく理解できていないから、
周りの賛同を得られていないってことに気づくべきだろうな。

322 :仕様書無しさん:2015/01/26(月) 08:25:43.00
>>320
このスレが再現してるのは
「周りから疎まれる人は、自分が正しく周りは馬鹿だと思いこむ」
という現象だよ

323 :仕様書無しさん:2015/01/26(月) 12:58:14.18
>>316
「出来上がってるコードを勝手に書き変えんな」
それがだめなのはわかるが、

「出来上がってるコードを書き変えようと思います」といって、コミットをプッシュして
レビューしてもらってからマージするのには何も問題ないだろ?

「許可を求めるな Pull Request せよ 」だよ。

324 :仕様書無しさん:2015/01/26(月) 20:52:20.35
数万回ループするならビット演算子の利用も考えるが、
1回/日しか通らない様な処理なら
素直にif文書いておいた方が楽じゃね?

コメント各手間も要らないし

325 :仕様書無しさん:2015/01/26(月) 21:13:53.75
なんで"書く手間"を気にするかね?

可読性って、可"読"性 って書くんだよ。
つまり読みやすさ。

可読性というけれど、可書性っていうのか?
書きやすさはそこまで重要視されてないよね?

1と0の入れ替えであるならビット演算子を使おうとは思わないが
(x = 1-xの方が可読性が書いと思うので)
ifで書くと4行ぐらい読まないといけないから
その分可読性が落ちるだろ。

この場合はほんの僅かだが、これが積み重なっていくわけで

326 :仕様書無しさん:2015/01/26(月) 21:14:52.28
いい忘れたけど、x = 1 - x にコメントはいらんよ。
この書き方は慣用句レベルの一般的なコードだから

327 :仕様書無しさん:2015/01/26(月) 21:31:09.26
>>326
で、バグを出すわけですね。わかります。

328 :仕様書無しさん:2015/01/26(月) 21:44:05.21
・xに何が入ってるのか?
・xを-1した目的は何か?
それ一文はとても簡単だけどソース全体として見たときに「何でコイツはここで〇〇したんだ?」ってなかなか意図がわからんで、ずっと上層からデバッグかけて下層まで降りてきてやっと意図がわかるケースもあるから出来ればコメントは欲しい

いや、並の能力がある人ならはクラス毎にカプセル化するんだろうけど、ウチの案件は殆どpublicで作ってやがってな
縦横無尽に駆け巡るんだわ

329 :仕様書無しさん:2015/01/26(月) 21:47:25.69
>>325
ちょっと上の話題も読めない人?
たとえば>>315とか理解できない?

330 :仕様書無しさん:2015/01/26(月) 21:48:22.64
>>326
演算そのものに対するコメントはあってもなくてもいいと思うけど、

その「変数 x 」はシステム上の「何か」であるはずなので、仮にその「何か」を△△だとすれば
// △△が○○だったらXXに、××だったら○○に設定する
というようなコメントは必要。

331 :仕様書無しさん:2015/01/26(月) 22:08:46.17
>>330
> その「変数 x 」はシステム上の「何か」であるはずなので、仮にその「何か」を△△だとすれば
> // △△が○○だったらXXに、××だったら○○に設定する
> というようなコメントは必要。

それは1 - xのコードに書くことじゃない

1. 変数に意味がわかるような適切な名前をつける
2. その変数の定義に、0は○○、1は○○と説明を入れる。

その反転をするコードには説明はいらん。

332 :仕様書無しさん:2015/01/26(月) 22:10:08.49
たとえどんなに知識があっても
どんなに綺麗なオブジェクト指向ができても

名前のセンスがない奴だけは認めない

お前の世界InfoとManagerしかないんかい…
DataInfoってなんやねん

333 :仕様書無しさん:2015/01/26(月) 22:11:33.43
1と0を入れ替えるなら
x = 1-x;
より
x ^= 1;
のほうがいいと言える感性を持ち続けたいものだ。

334 :仕様書無しさん:2015/01/26(月) 22:16:26.04
>>333
センスがないどころか
文盲さんですか?

335 :仕様書無しさん:2015/01/26(月) 22:25:57.35
変数 x は例だろ...

>1. 変数に意味がわかるような適切な名前をつける
当たり前
>2. その変数の定義に、0は○○、1は○○と説明を入れる。
当たり前

で、「システム上のデータと、それに入る値と意味」を全て覚えているのならコメントは不要かもね。

でも、そんな人だけがそのプログラムを見たり修正したりするんじゃないんですよ。
そういう人に「これって何ですか?」って聞かれてあれこれ説明して(どこに書いてあるか、ってのも含む)
自分の時間を割くのが嫌だから、俺はコメント入れておくw

自分が一生責任を持って面倒見るプログラムならば、コメント入れなくてもいいんじゃない?w

336 :285:2015/01/26(月) 22:37:29.30
なんか、ゴメンな... 例が悪かったようだから、以下でどうでしょ?

// 上半期と下半期の開始月(4または10)を入れ替える(4または10以外の値はありえない)
// if (month = 4) {
// month = 10;
// }
// else {
// month = 4;
// }
month = (10 + 4) - month;

337 :仕様書無しさん:2015/01/26(月) 22:40:33.18
if (month = 4) {

338 :285:2015/01/26(月) 22:44:07.15
>>337
み、見逃してくれよ...orz

339 :KAC:2015/01/26(月) 22:56:47.05
>>336
うーん。。。

「以外の値はありえない」と書かれていても、
実際にif文とかで弾いていない限り入れてしまえば動くわけで。
コメントに書かれた処理だと4に丸められることが保証できるよね。
コメントだけ読んだ人は、そういう仕様なのかと思って
別の処理でその仕様を活用するかもしれない。

で、実際にはコメントに騙されないだろ。 と思うならそもそもコメントは不要。

不要なコメントだと思うし、
しかも処理の内容が実装と違うコメントは消すべき。
そもそも、コメントに処理必要?日本語で説明つければいいだけでは?

// 上半期と下半期の開始月(4または10)を入れ替える(4または10以外の値はありえない)
↑のコメントだけでは不十分だと思った理由はなに?

340 :仕様書無しさん:2015/01/26(月) 22:59:53.98
>>336
中二病的コード

341 :285:2015/01/26(月) 23:07:15.04
>>339
>実際にif文とかで弾いていない限り入れてしまえば動くわけで。
この時点で4,10以外くれば何処かしらのバグ。
この式で、想定以外の値が来たのなら、どこかしらがバグっていると判断してデバッグする。
むしろ、「必ずどちらかの値にしてしまう」という演算は、どこかしらのバグを隠してしまう、と思うわけです。

>// 上半期と下半期の開始月(4または10)を入れ替える(4または10以外の値はありえない)
>↑のコメントだけでは不十分だと思った理由はなに?
このifなんたらを計算式に置き換えます、っていう意味です。不要といえば不要です。
あくまで、例に準じて入れたコメントなので。

342 :仕様書無しさん:2015/01/26(月) 23:11:40.29
>>335
1-xをこれってなんですか?って聞く
ような奴が、システム開発している方が怖い。

343 :仕様書無しさん:2015/01/26(月) 23:14:29.09
>>366
1 - x はよく使われるから別に問題ないが、

それなら、
month = month == 4 ? 10 : 4;
の方がいい。

そもそも月には、1〜12の任意の数値が入るわけで
その計算式じゃ、その他の月はどうなるのか?が
明確に読み取れない。

344 :KAC:2015/01/26(月) 23:20:43.14
>>341
コメントをあえて書いてたのは了解。

> この式で、想定以外の値が来たのなら、どこかしらがバグっていると判断してデバッグする。

コメント自体がその意図だとは思ったんだけど、心配してるのはそこじゃなかったりする。
ソースコード自体は、将来別の人が再利用するかもしれない。
このコードが、4,10以外を想定せずに作られたのを理解していて、
たとえば「その他の月なら4月として扱う」という仕様に改造する為に調査するかもしれない。
そこでコメントを見て、「改造不要」と間違った判断を下してしまう可能性もある。

どうしても処理と異なった意図のことを書いてしまうことは止む終えないところもあるけど
今回のは誤解を生むことがわかりやすかったので。


話は大きくそれてしまうけど、ついでに。
そのプロジェクトが今後どういう扱いになるのかによるだろうけど、
  // 6ヶ月増やす(1〜12)
  x = (x + 5) %12 + 1 ;
みたいに対応するのもありだとは思う。

345 :仕様書無しさん:2015/01/26(月) 23:31:12.58
>>344
>   // 6ヶ月増やす(1〜12)
>   x = (x + 5) %12 + 1 ;

ないなw

そう言おう時は、x = add_month(x, 6);
(add_monthの実装はご自由に)

にするべき。別にCalendar.add(x, '6month')とかでもいいけどさ。

日本語でコメントを書きたくなったら
それを関数にするべき。

346 :285:2015/01/26(月) 23:34:24.45
>>344
説明ヘタで大いに誤解を招いてすみません...

> x = (x + 5) %12 + 1 ;
こう書くのが一番親切なんでしょうね。
乗除算はわりと時間食うので効率化の面でアレですが、上半期だのを例にしちゃったから、
この処理を何万回ブン回すというイメージにはなりませんからね...(^^;

347 :仕様書無しさん:2015/01/26(月) 23:35:36.07
> 乗除算はわりと時間食うので

Intel 486時代の人?w

乗除算が時間がかかるって
何年前の話だよw

348 :仕様書無しさん:2015/01/26(月) 23:37:32.00
コードの可読性が悪いときに、
コードの可読性を上げずに
コメントでどうにかしようって考えが
プログラムセンスが無い人なんだよなw

349 :仕様書無しさん:2015/01/26(月) 23:38:28.24
>>342
>1-xをこれってなんですか?って聞く
>ような奴が、システム開発している方が怖い。
実際にある話。体験したことのない人は幸せですねw

>>343
>month = month == 4 ? 10 : 4;
参考演算子はif文と代わらないので、ifを使っているのと同じ。
(演算化によるコードの効率化にはならない)

350 :285:2015/01/26(月) 23:44:49.65
>>347
世の中の全てのプログラムの仕事で使うCPUが最新だったらいいですけどね?w

351 :KAC:2015/01/26(月) 23:48:09.01
>>347
例えばARMなら除算は減算の数倍の時間がかかる。
処理系によって変わるんだから、Intelの例だけ出しても。。。
処理時間を気にするのは大事なことだよ。

352 :仕様書無しさん:2015/01/27(火) 01:14:36.08
>>345
情報が劣化してるぞ。
ちゃんとコメント書け。

353 :仕様書無しさん:2015/01/27(火) 04:44:51.78
WEB+スマホアプリ系でコード書いてる。

プログラマーだけが集まった集団、たとえば「プログラミング言語ナントカの勉強会」的な
サークルの中で「あの人はセンスが良い」と言われたいのか、プログラマーは
もちろん、デザイナーもいるし企画、マーケ、営業の人もいるチームで
「あの人はセンスが良い」と言われたいのかで、全然違う。

前者と後者、どちらが優れていてどちらが劣っているかということはない。

どちらのほうが自分が貢献しやすいか、ということだと思う。

余談だが 1か0のxの値をひっくり返すのは
x = 1-x;

x ^= 1;
かでいうと僕は後者が好き。でもこれは好み。

それと、
x = 1-x;
のほうが自然だと思う人のほうが多いレベルの集団と、
x ^= 1;
のほうが自然だと思う人のほうが多いレベルの集団とがあって、自分は今どっちに
いるのかをよく見極めて反感を買わないようにしたいもの。

1と0をひっくり返すと聞いた時に、排他的論理輪みたいなものが思い浮かぶかどうかは
知っているか知らないかの問題で、それは個人の教養に関わる話なので、
どうしても学歴とかそういう話にまで波及してしまう。
仕事の現場では、教養の低い人のプライドを傷つけないようにするということも
センスのある仕事として認められる。

354 :仕様書無しさん:2015/01/27(火) 06:51:03.30
数値の値をひっくり返すのに、
ビット配列という内部実装に依存した処理を用いることに気持ち悪さを感じない奴は、
おそらく他でも同じ事をやってる。

そして賢くないとメンテできないプログラムとバカでもメンテできるプログラムの
どちらが優れているか考えるまでもない

覚えたての知識を意味もなく使う高卒は消えてほしいです…

355 :仕様書無しさん:2015/01/27(火) 07:30:18.25
>>354
>そして賢くないとメンテできないプログラムとバカでもメンテできるプログラムの
>どちらが優れているか考えるまでもない

どちらも単なるコードなので、どっちが優れていてどっちが劣っているとかはない。

単に、1と0をひっくり返すことから、たとえばブール代数をちゃんと大学の
講義で習ったかどうかで書くコードが異なってくる。

要は、
x ^= 1;
の方がイケてるよね、というのが当たり前の感覚のレベルの集団で
働けばよいだけ。

自分が
>バカでもメンテできるプログラム
のほうが優れているという評価をする人ならば、同じく
>バカでもメンテできるプログラム
のほうが良いとする人たちと一緒に仕事をするのがおそらく本人も幸せ。

周りが教養のある人なのに、自分だけ無学だったりするのはさぞかし辛いものだろうと
お察しする。(私は教養のある側にしか居たことがない。)

356 :仕様書無しさん:2015/01/27(火) 07:38:56.09
思うに、ちゃんと離散数学を学んだことのない人に限って
センスとかっていう曖昧な言葉を使いたがるような気がする。

必死こいて、せめて大学1、2で読むような教科書を努力して読んだようなことが
ない人が、逃げのために使う言葉なんだろうなきっと。

俺はセンスなくていいや。

357 :KAC:2015/01/27(火) 07:49:10.80
自分の知識をひけらかすのが目的になってないか?
「知識レベルが高いと考える方を選ぶ」みたいな理由でコードを選ぶな。

 算術演算がふさわしい場合もあれば
 ビット演算がふさわしい場合もある。
 さらに言えば、論理演算がふさわしい場合も当然ある。

上記の違いが思いつかない/理解できないのは論外。

「0と1の反転」と1つの事象を取り扱うにしても
読み手のことや実装上の都合を総合的に考えて記述方法を選ぶのは
プログラムの可読性を向上させる為には重要なことだよ。

358 :仕様書無しさん:2015/01/27(火) 07:54:15.04
1と0をひっくり返したいだけなら普通にif文で書くべきと思うよ
演算子で計算しても同じ結果は出せるかもしれんが、if文の方がやりたいことの意図が見えやすいコードだ

359 :仕様書無しさん:2015/01/27(火) 08:27:40.19
もしかしたらc言語わからん奴が読むかもしれんぞ

360 :仕様書無しさん:2015/01/27(火) 08:30:42.56
間違えた読むじゃなくてメンテナンス

361 :仕様書無しさん:2015/01/27(火) 09:26:11.75
バカや無知がそのままで良いという悪い風潮

362 :仕様書無しさん:2015/01/27(火) 09:33:52.31
バカ、無知のやつはバカ、無知のままでいい

363 :仕様書無しさん:2015/01/27(火) 09:42:00.12
突然2とか-1とかやってくるかもしれないところまで想定できるかどうかということだなw

364 :仕様書無しさん:2015/01/27(火) 12:21:04.17
1と0の反転をどう書くかは、ビット演算したいという
意思を持っているかどうかだな。

もしビット演算をしたいと思っているのなら
x ^= 0x01; こう書いてもいいはず。

"1ビット目を反転したい" と思って書くコードであれば、16進数で書いても違和感はないはずだよね。
でもそうじゃなくて、数値の1と0を反転したいと考えているなら1 - xだろう。

結果的には同じ答えになるんだけど、ビット演算と数値演算の
どちらをやりたいのか?で書き方を変えたほうがいいと思う。
(ただしパフォーマンスをあげるためなどという理由が他にあるなら話は別)

365 :仕様書無しさん:2015/01/27(火) 12:30:15.88
結果が同じなら何でもいいわ

366 :仕様書無しさん:2015/01/27(火) 13:02:42.85
>>364
フラグって概念は理解できない?

367 :仕様書無しさん:2015/01/27(火) 13:54:38.93
フラグならtrue or false
入れ替えは x = !x;

368 :仕様書無しさん:2015/01/27(火) 14:03:19.86
2ΠrをΠr << 1と書かないように、
数値として計算したいときは、数値計算で
ビット演算するときだけ、ビット演算子を使うべき。
これがセンスというもの

369 :仕様書無しさん:2015/01/27(火) 15:36:07.61
そうだよね

370 :仕様書無しさん:2015/01/27(火) 16:58:00.90
それ、センスの話か?

371 :仕様書無しさん:2015/01/27(火) 19:38:09.60
俺の思ってるセンスとかなり合致する説明

372 :仕様書無しさん:2015/01/27(火) 20:20:43.23
>>368は例のセンスが悪すぎる

373 :仕様書無しさん:2015/01/27(火) 20:26:09.02
プログラマに限らず理系センスがある人はセンスなんて言葉は使いません

374 :仕様書無しさん:2015/01/27(火) 21:12:06.19
>>373
そうだね。
センスある人はセンスなんて関係ないよね。

375 :仕様書無しさん:2015/01/27(火) 21:18:09.21
センスがある人にセンスはないという事か、禅問答みたいやな。

376 :仕様書無しさん:2015/01/27(火) 21:41:52.70
感覚的なものは個人差あるからね
老害系は頭越しに何でも否定する割に子どもみたいな言い訳するし

377 :仕様書無しさん:2015/01/27(火) 22:03:51.38
こいつセンスがあるなあと思うプログラマー

・何かをそいつに「これこれこういうの作って」と頼んでから、最初のアウトプットが出てくるまでが
 とにかく早い

・だけど、その最初に出してきたコードにこだわらない。
 ためらわず、ごっそり書いたものを捨てる。

・しかし、その書く&捨てるを繰り返しているうちに、後々の開発スピードが
 グンとあがるような設計(クラス構造だったり、命名規則だったり)に
 なっており、かつ、そのプロジェクトからどのプロジェクトにも水平展開で
 使えるフレームワーク的なものが自然と出来ていたりする。

・上記のようなやり方をして、納期までの時間のうちの初めの20%ぐらいで
 要件の80%ぐらいは作ってしまう。
 で、残った時間で、本当にお客さんが求めているもの、嬉しいサプライズ的な
 機能、ちょっと気のきいたUIなどを作ることにあてて、ユーザーにも
 チームも全員ハッピーになり、かつ、そいつも実は、そういった自主提案の
 機能を作るのにかねてから使いたかった言語やAPIを試して満足し、かつ
 誰もやったことがないことをやったと評価される。

・そしてますますそいつに仕事が集中する。

みたいな感じで仕事を回せるヤツ、

というか、みたいな感じで仕事が回っていくのを最初からイメージしてコードを
書けるヤツ

ヤツというか、自分の部下がそう。まじで助かってる。

378 :仕様書無しさん:2015/01/27(火) 22:12:38.69
>>377
ゼロイチをひっくり返すのに、ビット演算つかうよりか
x=1-x;
のほうがいいと思ってる俺みたいな凡人には無理だ。
のんびり仕事して給料もらえたらそれでいい。センスはいらんから休みがほしい。

379 :仕様書無しさん:2015/01/27(火) 22:15:36.38
自分の事かと思ったけど、ワイには部下しか居なかったでござるw

380 :仕様書無しさん:2015/01/27(火) 22:25:08.50
>>377
そいつは単に人間として有能なだけだ

プログラムのセンスは別の話

381 :仕様書無しさん:2015/01/27(火) 22:28:29.64
>>377

・そしてますますそいつに仕事が集中する。

・壊れる

なんてことが無いようにちゃんと調整しろよ・・・?

382 :仕様書無しさん:2015/01/27(火) 22:46:41.85
>>379
いよ! しゃちょー!!

383 :仕様書無しさん:2015/01/27(火) 23:04:31.88
>>376
お前も40すぎたら同じこと言われる。安心しろ!

スマホの文字読めなくなるよwww
新しい技術をつかえなくなるwww
体力不足で、集中力が切れるwww
文字を読むのが面倒になるwwww

センス以前の障害に気が付けよ。

384 :仕様書無しさん:2015/01/27(火) 23:08:01.76
>>383
ジジイは50代スレに帰れ

385 :仕様書無しさん:2015/01/27(火) 23:11:01.76
このスレにいるやつの過半数はジジイだと睨んでる
俺はまだ50前だがな

386 :仕様書無しさん:2015/01/27(火) 23:29:01.89
x=1-x
って、多分どの言語でも書けるけど、
NOTやXORって使える言語限られなくない?

387 :仕様書無しさん:2015/01/27(火) 23:30:01.85
え?

388 :仕様書無しさん:2015/01/27(火) 23:49:03.99
広大な宇宙のあまねく場所と時間において1-0=1,1-1=0は成り立つ

数字が決まったビット列に変換できて、ビット演算が成り立つのなんて
せいぜいここ数十年のコンピューター上だけの話
NOTやXORが使えない処理系がないからといってビット演算を正当化する理由にはならない

389 :仕様書無しさん:2015/01/28(水) 01:03:49.31
え?

390 :仕様書無しさん:2015/01/28(水) 03:40:52.85
>>380
>プログラムのセンスは別の話

別ではない人の例を、>>377は話している。
そいつの書くコードが、周りをいい感じに動かしてるってことだから。

つまり、そいつが有能というよりは、そいつの書くコードが有能って
こと。

391 :仕様書無しさん:2015/01/28(水) 03:50:11.41
x ^= 1;なんてスカした書き方、俺ア絶対に認めねえぞ。部下がこんなの書いてきたらソッコー潰す!

392 :仕様書無しさん:2015/01/28(水) 04:15:56.55
日本は、嫉妬と同調圧力の国だから、
x ^= 1;
が現場で認められることは絶対にない。

393 :仕様書無しさん:2015/01/28(水) 05:33:06.11
x != x

394 :仕様書無しさん:2015/01/28(水) 06:03:18.38
コードレビューで逆ギレする馬鹿は永遠に馬鹿のまま

395 :仕様書無しさん:2015/01/28(水) 06:12:43.14
>>391
こんなのがいるからIT業界は発展しないだろうね

396 :仕様書無しさん:2015/01/28(水) 06:13:24.91
1と0を反転する処理ってどんな時に使うの?

397 :仕様書無しさん:2015/01/28(水) 06:40:55.14
>>377
>そしてますますそいつに仕事が集中する
これは望んでないことだろうな
言葉だけの評価で給料が上がるわけでもないだろうし

398 :仕様書無しさん:2015/01/28(水) 07:00:16.57
部下にとって不公平は上司の評価を下げる第一要素。
いずれ、または最初から上司とは見てもらえなくなるだろうな。
部下が求めてるのは頼れる上司。
足を引っ張る上司は人間としてもゴミ以下で見られてる。

399 :仕様書無しさん:2015/01/28(水) 07:34:07.44
x^=1;を書きたがるような協調性の欠けた人間は我が社には要らない。

400 :仕様書無しさん:2015/01/28(水) 07:43:33.04
赤信号みんなで渡れば怖くない。のと同じで、みんなでx=1-x;と書けば怖くない。

401 :仕様書無しさん:2015/01/28(水) 07:49:40.18
俺は父親にプログラミング教わったんだが、1,0をひっくり返す問題で
x^=1;
と書いてめちゃくちゃ怒られて、晩飯抜きになったことがある。
「なんでダメなんだ?」と訊いたんだが
「とにかくだめだ。そういうものなんだ。お前も大人になれば分かる」
と言われたもんだ。
でも今になると分かる。
おやじが厳しくしつけてくれたおかげで、今の俺がある。

402 :仕様書無しさん:2015/01/28(水) 08:10:30.12
>>401
ええ話や……

403 :仕様書無しさん:2015/01/28(水) 08:13:43.69
>>401 エエ話やん・・・(;´Д⊂)

404 :仕様書無しさん:2015/01/28(水) 08:18:05.22
そうやって親が厳しくしてくれる人は幸せだ。

うっかり禁断の x^=1;に手を出して、やめられなくなったこの人たちを見よ。

https://www.youtube.com/watch?v=5iW_fsb3Dqw

405 :仕様書無しさん:2015/01/28(水) 09:09:13.25
ロジックICでは、XORやJK-FFを使えるようになったらワンランク上、と思っているのだが

406 :仕様書無しさん:2015/01/28(水) 09:46:39.20
>>404
なにこれクスリに手出した人じゃないの

407 :仕様書無しさん:2015/01/28(水) 11:11:28.26
何の条件もなく反転させるだけの操作をするのは設計ミス臭いw

408 :仕様書無しさん:2015/01/28(水) 11:36:47.68
1なんて直値を書いてドヤってるバカが何言ってんだかw

409 :仕様書無しさん:2015/01/28(水) 11:51:44.88
>>408
なに言ってんだこいつ

410 :仕様書無しさん:2015/01/28(水) 12:37:56.40
#define ICHI 1
ってやれって事じゃね?

411 :仕様書無しさん:2015/01/28(水) 12:39:38.91
まじレスすると、
変更できない|してはいけない値をマクロ設定する馬鹿(>>408)は死んだほうがいい。

412 :仕様書無しさん:2015/01/28(水) 14:27:57.22
#define ICHIRO 51

413 :仕様書無しさん:2015/01/28(水) 14:32:52.80
>>377
> ・上記のようなやり方をして、納期までの時間のうちの初めの20%ぐらいで
>  要件の80%ぐらいは作ってしまう。

それは逆だな

・上記のようなやり方をして、納期までの時間のうちの初めの60%ぐらいで
要件の20%ぐらいしかできていない。

だけど開発効率がいいために、あと20%で要件の100%を作ってしまう。

414 :仕様書無しさん:2015/01/28(水) 16:06:09.70
>>377のような場合だと、自作にまわれば5年経過しても完成しないんだよな。
追求型だから、デバックしてるうちにアレコレの機能追加を思いつく。
こういう人は、プログラマじゃなく非プログラマで成功するかもな。
つまり、他の業種の職業従事しながら、そこのシステムを開発するみたいな。

こういう人は頭脳明晰で、道理という概念を潜在的に持ってる。
いうなれば、合理的な考えの持ち主なんだな。
これは、他の人が真似できない生まれ持った素質。
待ち時間の発生中でも、何かを仕掛けてくる人なんだよな。

プログラムセンスとは別物なんだよな。

415 :仕様書無しさん:2015/01/28(水) 17:18:00.22
>>411
ぽかーん
勝手に値を変更されないようにシンボリックに定義するんだろが

416 :仕様書無しさん:2015/01/28(水) 18:35:34.63
>>415
何の意味があるんだ?

417 :仕様書無しさん:2015/01/28(水) 20:13:36.57
定数定義する意味がわからない人はプログラミングをしないほうがいいと思う。

418 :仕様書無しさん:2015/01/28(水) 20:22:03.07
>>414
貴君が頑なに>>377のような人を
>プログラムセンスとは別物
と言いたがる動機を知りたいものだ。

おそらく、貴君の小さな自意識からくるものだろうが。

419 :仕様書無しさん:2015/01/28(水) 20:25:39.00
まあせいぜいが
「オレのセンスは認めろ。オマエのセンスは認めない。」
っていう程度のものなんだろうな。
要するに、人生のセンスがない人だということ。

420 :仕様書無しさん:2015/01/28(水) 20:26:19.53
提示された事実ではなく発言の動機とか発言者の性格とかにばっかりこだわる奴

職場にいるとすっごい邪魔。
プロジェクトデストロイヤー。

421 :仕様書無しさん:2015/01/28(水) 20:31:26.99
バカか?w ここは職場じゃねえもん。
そしてこっそり、
>提示された事実
などと言って、自分の言ったことは
>事実
だと思い込む。

>事実

事実認識とをごっちゃにしているやつは、職場でも2ちゃんでも邪魔

なんだろう、たとえると
JavaScript で__proto__ とprotptype の区別がどうしても分からない
ぐらいに厄介者

422 :仕様書無しさん:2015/01/28(水) 20:37:08.22
>>420
自己紹介ですか?

423 :仕様書無しさん:2015/01/28(水) 20:41:19.59
プログラムを書いて、そのコードの持つ力で対人関係を実りあるものにできるのも
立派にコーディングのセンスと認めていいののに、それができないからっていう僻みで、
単にトリッキーなコードを書けることがセンスで、それ以外は認めないという
決めつけはちょっと大人げないね。

424 :仕様書無しさん:2015/01/28(水) 20:44:13.12
最近、年だけとった子供が多いからなあ

425 :仕様書無しさん:2015/01/28(水) 20:46:41.83
でも実は>>414みたいなエラそーなこと言ってるわりに
1,0反転させるのは
x=1-x;
派だったりするんだろうなw

426 :仕様書無しさん:2015/01/28(水) 20:50:38.26
人生長いですから。
「俺のことは認めろ、お前のことは認めない」っていうポリシーで
生きなきゃいけない苦しい時期もきっとあるんだよ。

427 :仕様書無しさん:2015/01/28(水) 20:55:06.99
>>416
> 何の意味があるんだ?

可読性を上げるために決まってるじゃん。

プログラムで重要なのは、「可"読"性」
「可"書"性」などという言葉はない。

ソースコードは解析するものではなく読むもの
小説のように読めないといけない。
頭のなかで1というのは○○の値でとか
短期記憶を駆使して解析するものではない

428 :仕様書無しさん:2015/01/28(水) 20:57:17.37
何かをやっている他人について、センスがあるorないを見分けるだけの高いレベルの見識が
自分にはあると思い込むのもまた、単なる無知と傲慢のなせるわざだったりするからな。

429 :仕様書無しさん:2015/01/28(水) 20:58:57.70
>>425
> 1,0反転させるのは
> x=1-x;

こっちのほうがわかりやすいな。

応用で、325と156を反転させるのは
x = 481 - x でよくなる。
x = (325+156) - x の方が更にいいかな。

これをビット反転でやりたいかね?

430 :仕様書無しさん:2015/01/28(水) 20:59:47.27
>>427
このレスだけ読んだらまったくもって尤もだが。


value = 1;
value = ICHI;

可読性あがってると思うか?
ICHIとしか書けないんだったら定数定義する意味ないだろ…

あとで#define ICHI 0 とかすんの?

431 :仕様書無しさん:2015/01/28(水) 20:59:48.12
>>427
例えば x ^= 1 ; はどう書くの?

432 :仕様書無しさん:2015/01/28(水) 21:01:12.14
>>430
それは名前の付け方が悪いだけ。

その1とは何の数字なんだよ?

その答えを名前にすればいい。

433 :仕様書無しさん:2015/01/28(水) 21:03:12.46
>>431
1ビット目を反転したいだけならそのままでいい。
1と0を入れ替えるのであれば x = 1 - x

ようするに、今何をしたいのか?を
コードで書くのが可読性であり

何をしたいのか?によって書き方は変わる。
結果が同じだから、どちらでもいいというわけじゃない
重要なのは過程の方。

434 :仕様書無しさん:2015/01/28(水) 21:04:30.05
>>432
何の数字なの?

435 :仕様書無しさん:2015/01/28(水) 21:08:17.98
>>434
例えば、ゲームの初期残機なら
SYOKI_ZANKI(の英語。考えるのが面倒)だろうし、

キーボードのシフトキーを押された状態が1として
返ってくるのであれば、SHIFT_KEYだろう。

成功の値が1にであればSUCCESSが適当だろう。

何の数字なの?の答えとは
こういうもののこと。

436 :仕様書無しさん:2015/01/28(水) 21:09:55.08
>>435
でも
x = SHIFT_KEY - x
って分かりやすいか?

437 :仕様書無しさん:2015/01/28(水) 21:10:53.45
>>434
アラビア数字だよ?

438 :仕様書無しさん:2015/01/28(水) 21:11:44.04
プログラムの中で x が、1か0しか値をとらないことが分かっているなら、
x= 1-x;
と書くより
x ^= 1;
と書くやつのほうがセンスが良さげ。

というのも、aが真偽値のときに

a XOR TRUE

の値が NOT a になるとか、そういうことを知ってるやつなんだろうな
という安心感がある。

当該の問題はほんとうは

x = ~x;

とでも書きたいところだが、こうすると、xが0のとき ~xが-1になっちゃうからね。

439 :仕様書無しさん:2015/01/28(水) 21:13:44.15
>>435
そうじゃなくて元々は、x=1-xで1と0を入れ替える話で

408 名前:仕様書無しさん[sage] 投稿日:2015/01/28(水) 11:36:47.68
1なんて直値を書いてドヤってるバカが何言ってんだかw

といった奴がおってな。


こんな場合に定数定義する必要あると思う?

440 :仕様書無しさん:2015/01/28(水) 21:15:17.61
>こんな場合に定数定義する必要あると思う?

ないよ。>>408はセンスねえのの見本みたいなヤツだもん。

441 :仕様書無しさん:2015/01/28(水) 21:18:46.19
>>436
> x = SHIFT_KEY - x

だから何をやりたいかで書き方は変わるんだって。

ビット演算で書くべき所は、ビットごとに意味がある値を変える時
そうでないものは、数値演算で書くべき。
SHIFT_KEYはビット演算だろう?

442 :仕様書無しさん:2015/01/28(水) 21:20:15.92
>>438
いや、そこは ~x じゃなくて !x だろ。。。

443 :仕様書無しさん:2015/01/28(水) 21:20:50.51
>>436
定数はメンテナンス性が上がるんだよ

後でその数字書き換えなきゃいけない事態になったとき、ソース内の例えば1を書き換えるとするが、当然関係する1と関係無い1があってソース全部読まなきゃいけない
定数が宣言されていれば、そこ1行のメンテだけで済む

444 :仕様書無しさん:2015/01/28(水) 21:21:36.86
要するに、x が 0か1しか値をとらないというときに、

x = 1-x;
でも確かに、0は1に、1は0になるので、目的は達している。
だが同じ目的を達するのでも
x ^= 1;
だと、ちゃんと 「x は0,1のフラグだ、ブーリアンだ、真偽値だ」と
読む人に訴えているんですね。
x = 1-x;
にはそれがない。

1つの式に多くの意味を手短に語らせるのもセンスだから私は
x ^= 1;
のほうがよいと思う。

445 :仕様書無しさん:2015/01/28(水) 21:23:16.59
>>444

だ っ た ら フ ラ グ 使 え

446 :仕様書無しさん:2015/01/28(水) 21:24:14.79
x=1-x;

x ^= 1;
のどっちがいいかは x=1-x;のほうが良いで結論出てる。ムシ返すのはやめろ。

447 :仕様書無しさん:2015/01/28(水) 21:26:16.68
例えばYAMAと言ったらKAWA、
KAWAと言ったらYAMAと答えるのが
正解のシステムが有るとしよう。

この時、YAMAとKAWA以外にTANIという選択肢もあるとする。
だけどTANI対しては有効な答えがない。

res = (YAMA + KAWA) - value

これをビット演算? それぞれの定数がどんな値かわからないのに?w

448 :仕様書無しさん:2015/01/28(水) 21:26:30.47
>>444
>1つの式に多くの意味を手短に語らせるのもセンス
同意

>>445
>だ っ た ら フ ラ グ 使 え

は成り立たないな。それを言ったらそもそもの問題の設定が、
あまりセンスが良くないねって話

449 :仕様書無しさん:2015/01/28(水) 21:28:41.75
>>447
急に
>YAMA
>KAWA
>TANI
という話を持ち込む意図は?

ごめん いまは 1と0の話をしているの。

450 :仕様書無しさん:2015/01/28(水) 21:28:44.83
>>444
そもそもブーリアンはブーリアンで書けよ
読み手はその方が一番わかりやすい
x ^= 1で読み手に訴えた気になってるのはセンスじゃなくて自己満足
プライベートで存分にやれ

451 :KAC:2015/01/28(水) 21:28:46.52
>>444
真偽値だと訴えたいなら、
ビット演算じゃなくて論理演算使ったほうがいい。
 x = !x ;
 x = x == 0 ;

452 :仕様書無しさん:2015/01/28(水) 21:29:21.95
>>448
1と0の切り替えの動機がフラグしかないと思うのか?

きさまはダブルバッファリングで四苦八苦したことがない世代の人間か
メモリなんて無限にあるから使いまわさないでnewすればいいとでもいうのか

453 :KAC:2015/01/28(水) 21:30:29.95
>>450
前提としてる言語が違うんだろう。
boolean型が無い言語もあるぞ。
C言語とか。

454 :仕様書無しさん:2015/01/28(水) 21:30:36.74
なんかムキになってる人がいて面白いねw

まあしょうがないけど。
だって
x ^= 1;
のほうが良いと感じるには教養が必要だもん。

455 :KAC:2015/01/28(水) 21:36:32.90
>>454
煽ってどうする。
どの表現が正しいかなんてのは、
時と場合によって変わるもんだ。
想定する読み手に何を伝えたいのかを
ちゃんと表現するのが一番大事。

特定の表現方法にこだわらず、
適切なものをちゃんと選ぶのがセンスってもんだろう

456 :仕様書無しさん:2015/01/28(水) 21:37:01.95
たとえば仮にの話、情報工学科1年生のAくんがいるとして、
Aくん、今今、まさにブール代数を学校で習っているとする。
そのAくんに、

0か1しか値をとらない(整数型の) x の値を
0なら1に、1なら0にするにはどうする?

って聞いたら
x ^= 1;
のほうを、押すと思わない?

っていう、そういう話なんだよね。

だから結局この話って、申し訳ないけど、コンピュータ数学を
どのくらい勉強したかという話であって、もっと端的に
いうと学歴の差ということ。

457 :仕様書無しさん:2015/01/28(水) 21:39:56.93
SE暦10年のB君も修士卒のC君もx=1-xを推すと思うな
そんな主張するのはFラン大か専門学校で習いたてのA君だけだろう。

458 :仕様書無しさん:2015/01/28(水) 21:40:09.69
まあお遊びとしての数学センスの話だね。

プロとしてコードを書く場合は結局if文switch文を使うからね。
1の場合、0の場合、その他の場合、
3つのケースで処理がちゃんと意図して書かれているか漏れているのかが明確にわかるため。

459 :仕様書無しさん:2015/01/28(水) 21:41:12.61
情報工学科1年生だったら、きっとビット演算子使ってみたい盛りだからな。

460 :仕様書無しさん:2015/01/28(水) 21:41:54.65
>>452
何いってんの?

入出力ストリームを流れるゼロイチだって、メモリの中のゼロイチだって
フラグだよ?

フリップフロップって聞いたことある?

461 :仕様書無しさん:2015/01/28(水) 21:42:34.26
もういいや。なんかイジメてると思われても困るし。

462 :仕様書無しさん:2015/01/28(水) 21:43:49.01
やっぱり仕事で使うなら0と1を反転する時はx=1-xのほうがいいのかな

463 :仕様書無しさん:2015/01/28(水) 21:45:47.92
>>459
> 情報工学科1年生だったら、きっとビット演算子使ってみたい盛りだからな。
俺はそれが小学校の時だったな。

中学で連立方程式を習った後に、
値を反転する時は1 - xでいいんだってわかった。

なんで連立方程式かというと、
x = 1 のときは 0
x = 0 のときは 1
という連立方程式を作って問いたんだよw

ネットなんてない時代の話。

464 :仕様書無しさん:2015/01/28(水) 21:46:14.56
x ^= 1; は自己満足で
x = 1-x; は自己満足じゃないという理由は結局聞けずじまいか・・・

465 :仕様書無しさん:2015/01/28(水) 21:46:57.53
システムは売り物だが、ソースは売り物じゃない
なぜなら一般人は基本的にソースに金は払わない
ソースのセンスなんて大概でいい
綺麗なソースとはつまりメンテナンス性の向上であってコスト削減に当たるわけだが、コスト削減に多大なコストを掛けてたらそれこそビジネスセンスがないと言うこと

466 :仕様書無しさん:2015/01/28(水) 21:48:11.78
>>460
伝わらなかったか

ダブルバッファリングするのは画面だけじゃないんだ
要素が2つの配列作って、それを切り替えるための添え字に使うんだよ

for(::) {
value = a[x]->DoSomething();
a[1-x]->DoHogeHoge(value)
x = 1 - x;
}

こんな感じで

467 :仕様書無しさん:2015/01/28(水) 21:48:23.70
>>463
なんだw
x = 1-x;
をガン押しする根拠はそういう過去の栄光だったのねw
そういうのを、まさに自己満足という。

なんかもういいや。
x = 1-x;
の笑えるエピソードが聞けてよかった。満足満足ww

468 :仕様書無しさん:2015/01/28(水) 21:53:51.43
>>465
コストしか考えてないからそれじゃだめ。
コスト削減にかけるコストは投資という

コストを下げるために投資をする。よくある話であり
投資したけどそれ以上にコストが下げられなかったら、それは失敗。
じゃあ必ず失敗するかといえば、もちろんそうではなく
投資した以上にコストを下げられれば成功

君は投資したら必ず失敗すると言ってるのかい?違うだろう?
開発している以上、現状維持というのはありえなくて、コードが増えるたびに修正のコストがどんどん増加していく
悪化するコストを下げるには投資をするしか無いわけで、それをどれだけ効率よく投資をするかってことがビジネスセンス

つまりは、どれだけ効果ある順番でソースのメンテナンス性を上げていくかっていうのが
プログラマにとって重要なセンスなんだよ。

469 :仕様書無しさん:2015/01/28(水) 21:54:47.41
>>466
じゃあトリプルバッファリングをするときはどうするの?

470 :仕様書無しさん:2015/01/28(水) 21:55:50.94
>>466
あんたの思い出のつまったコードだということは分かったけど、
そこの
x=1-x

x ^= 1;
ではダメな理由は何もないぞ?

471 :仕様書無しさん:2015/01/28(水) 21:55:52.22
>>467
> をガン押しする根拠はそういう過去の栄光だったのねw



ビット演算・・・小学生
数値計算・・・中学生

小学生の方が、過去の栄光なのですが?
早く俺の中学生時代に追いつけよ!

472 :仕様書無しさん:2015/01/28(水) 21:56:12.50
どっちもオンリーワン

473 :仕様書無しさん:2015/01/28(水) 21:56:19.30
>>469
するかwwwww

474 :仕様書無しさん:2015/01/28(水) 21:56:21.22
>>470
じゃあトリプルバッファリングをするときはどうするの?

475 :仕様書無しさん:2015/01/28(水) 21:56:49.52
あれ? もしかしてトリプルバッファリングというものが有ることを知らない?

476 :仕様書無しさん:2015/01/28(水) 21:58:42.54
煽ってるだけの人はなんなの?
って、扇子のない人かw

477 :仕様書無しさん:2015/01/28(水) 21:59:51.14
>>470
> x=1-x
> が
> x ^= 1;
> ではダメな理由は何もないぞ?

だからさ、何度も言うけど、式自体がどちらかがだめなんじゃなくて
使い方でどちらで書くべきか決まるって言ってんの。

ビット自体に意味があって、ビット演算したいときはビット演算でいいよ。
数値の0と1を意識しているのなら、数値計算でやれってこと。

理由はそのほうが意図が伝わりやすいから。

ビット演算したら、1ビット目はどういう意味か? という
思考がでてきてしまうんだよ。多分経験が浅いから
「ビットに意味がある」という意味がわかってないんだと思うが。

478 :仕様書無しさん:2015/01/28(水) 22:00:08.33
批判するだけじゃ解決しないだろうね

479 :仕様書無しさん:2015/01/28(水) 22:00:35.51
>>471
いや、そういうのは、もうどうでもいい。
あんたが 1と0をひっくり返すのはx=x-1;でなきゃ!
というこだわりが、>>466のコードにあることは分かった。
で、そのコードの
x=1-x;
だって別に
x ^= 1;
と書いたっていいじゃんて話なことが分かったので、俺的には終了だわ。

480 :仕様書無しさん:2015/01/28(水) 22:00:55.25
俺は解決なんて求めてない

481 :仕様書無しさん:2015/01/28(水) 22:02:03.44
>>479
> と書いたっていいじゃんて話なことが分かったので、俺的には終了だわ。

なんでさっきから、意図をはっきりさせるために
ビット演算する時はビット演算
数値で扱うときは、数値演算とう
明確な答えを無視するの?

482 :仕様書無しさん:2015/01/28(水) 22:02:34.31
>>475
やるならx = (x +1) % COUNT かな

少なくとも俺はトリプルバファリングなんてものにでくわしたことは一度もない

483 :仕様書無しさん:2015/01/28(水) 22:04:04.82
アレが重い日はトリプルバファリン

484 :仕様書無しさん:2015/01/28(水) 22:06:20.88
>>481
経験浅いのはお前のほうだよ。

数値計算の中で、主に高速化のためにビット演算を使うことなんて多々あるじゃん。

お前の主張の前提が、お前の偏った経験の中で書いてきたコードに
依存しているんだから説得力がない。

485 :仕様書無しさん:2015/01/28(水) 22:07:40.67
ってぐぐったらいっぱい出てきてびびった>トリプルバファリング
しかも最近の話題で

時代は進んどるのう…

486 :仕様書無しさん:2015/01/28(水) 22:10:33.93
>>484
二十年前の世界に帰れ亡霊め

487 :仕様書無しさん:2015/01/28(水) 22:13:57.95
>>477
>ビット演算したら、1ビット目はどういう意味か? という
>思考がでてきてしまうんだよ。

なんていうのが、そもそも、離散数学と無限を扱う数学との境界を
ちゃんとやってない証拠でね。

そういう
>思考
ができてしまったのは、あなたはがそういうコードしか書いてこなかった
という、あなたという人のごく個人的な話であってね。
一般的に言えることではないねと。
それでいて

>多分経験が浅いから

なんて言って悦に入っていたら、それこそ自己満足だな。

488 :仕様書無しさん:2015/01/28(水) 22:19:31.53
ま、要は、こういうことだよね。
x=1-x;
をガン推ししてた人も、自分の書いてきた、ある一分野のコードと
それによる思考のクセによって
x=1-x;
のほうがいい、センスがある、こっちが当然、みたいな結論を出すわけで
要は、アテにならんわけですよ。
このコードのほうがあのコードよりセンスがいいとか。

僕はけっこう業務でLISPを書くのだけど、それこそ
ポールグレアムとかに、お前のコード、センスねえな、って言われたら
落ちこむけどさ、ここ2ちゃんだぞ?
相手が何者かわからんところでセンスがどーの言われてもなっていう。

まあいいよ。

俺は、LISPerやってるから、あんたはダブルバッファリング書いてなよ、
それでいいじゃんって話だよね。

489 :仕様書無しさん:2015/01/28(水) 22:21:43.06
しかしオッサンの、
「オレ小学校のころは頭良かったんだぞ」バナが出てくるとは思わなんだw

490 :仕様書無しさん:2015/01/28(水) 22:24:53.16
オッサン涙目wwww

491 :仕様書無しさん:2015/01/28(水) 22:29:43.97
じゃあそれぞれが特別なオンリーワンということで、
みんなで一緒に「世界に一つだけの花」歌って終わりにしようか

492 :仕様書無しさん:2015/01/28(水) 22:30:20.62
煽りは関心しないが「数値計算の中でもビット演算は使う」は正しい。

493 :仕様書無しさん:2015/01/28(水) 22:32:24.16
花屋の店先にならーんだ〜♪、はい>>492

494 :仕様書無しさん:2015/01/28(水) 22:32:48.49
LISPerの詭弁に、ダブルバッファオサーンの心が折れた模様だ。

495 :仕様書無しさん:2015/01/28(水) 22:37:07.54
だけど、不思議なもんで、
x=1-x;
が、ダブルバッファオサーンの個人的な経験や、「小学校の頃から
方程式やってたオレ様」みたいな思いから発しているとしった今、
x=1-x;
の肩を持ちたい気分になってきたw

そんなもんなんだよ、しょせんは。

496 :仕様書無しさん:2015/01/28(水) 22:44:22.80
リスパー君は性格が悪いから彼の書いたx ^= 1; はコミットさせてやらない
っていうのは絶対あるよ。
ダブルバッファおじさんは、急に、カラオケ歌いだして
おちゃめだし、じゃあ、x=1-x; のほうを採用してやるかっていう
そんなもんだと思うよ、実際の世の中は。

497 :仕様書無しさん:2015/01/28(水) 22:47:09.94
勘違いさせてすまんが、急にカラオケ歌いだしたのはダブルバッファおじさんではない

498 :仕様書無しさん:2015/01/28(水) 23:07:49.05
急にカラオケ歌いだしたのはダブルバッファおじさんの双子の弟です。

499 :仕様書無しさん:2015/01/28(水) 23:18:41.23
まさかの遺伝子さえもダブルバッファ

500 :仕様書無しさん:2015/01/28(水) 23:32:09.19
結局事例が出たのは1-xの方が良いという話ばかりとw

501 :仕様書無しさん:2015/01/28(水) 23:49:21.68
ところで>>447って何が言いたいのかしら

>それぞれの定数がどんな値かわからないのに?w
ってのは

#define YAMA (INT_MAX - 1)
#define KAWA (INT_MAX - 2)

とかされちゃって

res = (YAMA + KAWA) - value; //誤動作
res = (YAMA ^ KAWA) ^ value; //正常動作

ってこと?

502 :仕様書無しさん:2015/01/28(水) 23:55:52.87
>>501
もともと、YAMAかKAWAかの話なのに
TANIを出してくる時点で>>447をお察しして差し上げないと...w

503 :仕様書無しさん:2015/01/28(水) 23:56:29.47
>>502
え?

504 :仕様書無しさん:2015/01/29(木) 00:08:03.33
>>500
すくなくともアンフェアな嘘は止めよう。
どちらの方が良いという話は、どちらも使い方次第あるいは思考のクセという意見に落ち着いてる。

>>501
どちらも誤動作しないでしょう。ただなるほどと思った。
ビット演算はできないってのが>>447の話でしょう。
下のやり方は>>447も気づかなかったからでしょうね。
 res = (YAMA ^ KAWA) ^ value;

505 :仕様書無しさん:2015/01/29(木) 00:26:41.68
基本のスワッピングやんけ

506 :仕様書無しさん:2015/01/29(木) 00:34:53.56
YAMAとKAWAの話に、TANIが出てきてvalue?が出てきている時点で論外。
じゃあHASHIが出てきたらvalue2がでてくんの?MICHIが出てきたらvalue3もか?w

で、valueなんちゃらはいつ変更されるんだ?
res=○×△☆※アーッ!!
だけじゃ解決できないだろ?w

507 :仕様書無しさん:2015/01/29(木) 00:39:58.99
>>506
え?

508 :仕様書無しさん:2015/01/29(木) 00:41:32.19
扇子もないのに煽るだけとは、これいかに?>>507

509 :仕様書無しさん:2015/01/29(木) 00:45:47.09
KURIをいじってSHIRUが出てきたらSAOを固くしてANAにぶちこんどけば皆HAPPYなんだろ

510 :仕様書無しさん:2015/01/29(木) 01:00:55.26
>>509
おまえ、センス無さ過ぎ。
ちょっとは>>508見習えよ。

511 :仕様書無しさん:2015/01/29(木) 01:06:26.78
>>508
わからないから聞き返してるだけだが、逆に>>506の意味が分かるセンスがあるなら説明してみ?

512 :仕様書無しさん:2015/01/29(木) 01:13:12.53
>>510
俺のセンスについてこれん様だなwお前ジジイだろw

513 :仕様書無しさん:2015/01/29(木) 06:03:41.66
そろそろスレ違いうざいから消えろ

514 :仕様書無しさん:2015/01/29(木) 06:49:06.19
YAWARAの話をしているのにTANIを出してくる?

515 :仕様書無しさん:2015/01/29(木) 08:08:07.23
昨日のダブルバッファおさーんとLISPERの煽りあいで
おさーんが、

>>477
>ビット演算したら、1ビット目はどういう意味か? という
>思考がでてきてしまうんだよ。

とついつい漏らしてしまったのを読んで、識者でもない人たちで
あるコードがセンスあるの無いのと話すことに
ほとんど意味がないことが分かった。

あることについて「これについて話すことに意味がない」という結論に
ちゃんと到達したことは、それなりに意味のあることだと思う。

何より時間の無駄をなくせる。

「これについて話すことは無駄だな」と早々に気がついて、その論壇から
さっさと退散できる能力もまた、生き方のセンスというもののひとつだろう。

516 :515 修正:2015/01/29(木) 08:16:05.68
おさーんが何を「ついつい漏らしてしまった」のかが抜けていた。

×:とついつい漏らしてしまったのを読んで、

○:とついつい、単なる個人的なコードリーディング時の傾向を漏らしてしまったのを読んで、

517 :仕様書無しさん:2015/01/29(木) 08:26:44.98
>>515
>ビット演算したら、1ビット目はどういう意味か? という
>思考がでてきてしまうんだよ。
こう考えちゃだめなの?

518 :仕様書無しさん:2015/01/29(木) 11:34:08.46
>>515
なんで引用しているのに、
その引用にレスつけてないの?

519 :仕様書無しさん:2015/01/29(木) 11:53:48.93
「ビットごとに意味がある」という言葉の意味がわかってないんだろうね。
ハードウェアを直接触ったりしている人にはわかることなんだが。

ビットごとに意味があるというのは、例えば3ビット目は何の値?と質問して
答えられるような使い方をしているってことなんだよ。

例えばこんなもの
http://chokuto.ifdef.jp/urawaza/message/WM_LBUTTONDBLCLK.html
> 0x0001 (MK_LBUTTON) マウスの左ボタンが押されています。
> 0x0002 (MK_RBUTTON) マウスの右ボタンが押されています。
> 0x0004 (MK_SHIFT) [Shift] キーが押されています。
> 0x0008 (MK_CONTROL) [Ctrl] キーが押されています。

16進数だから分かりにくいから2進数に直すとこうなる。
00000001 マウスの左ボタンが押されています。
00000010 マウスの右ボタンが押されています。
00000100 [Shift] キーが押されています。
00001000 [Ctrl] キーが押されています。

右から3ビット目は何の値?と質問したら
その答えは、Shiftキーを押しているかどうかだ。って答えられる。
これはビットごとに意味があるからできること。

1と0の反転において、 1ビット目は何の値?と聞いても答えは出ないだろう?
いや、無理やり答えるかもしれないなw 7と5の入れ替えでも本質的には
同じことだから、7と5の入れ替えで話を進めよう。

7と5の入れ替えの時、1ビット目は何の値?と聞いても答えは出ないだろう?
そういう場合にビット演算を使うのは直感的ではないってみんな言ってるわけだよ。

520 :仕様書無しさん:2015/01/29(木) 12:52:29.50
ビット演算派またもや不利に

521 :仕様書無しさん:2015/01/29(木) 12:58:45.03
ビット演算派また不利になってるぞ
反論頼む!

522 :仕様書無しさん:2015/01/29(木) 13:00:47.89
ビット演算派また不利になってるぞ
反論頼む!

523 :仕様書無しさん:2015/01/29(木) 14:33:46.79
4ビットマイコン使うのが多かったとこはビット単位で意味づけするのが好きなのかな、変数に

524 :仕様書無しさん:2015/01/29(木) 16:56:59.50
>>519
確かにその通り

525 :仕様書無しさん:2015/01/29(木) 17:30:49.35
x ^= 1の利点は、機械語に落ちた時に多くのアーキテクチャで直値付きの命令1つで済むことだな。
ほとんどの場合、x = 1 - xより速い。

というレベルでのミクロな最適化が必要でないなら、
x ^= 1とか書くのは馬鹿のやること。
x = 1 - xのほうが可読性が高い。

526 :仕様書無しさん:2015/01/29(木) 18:03:16.70
まあ、このように機械寄りで考える奴と
人間よりで考える奴がいる。

そしてソフトウェアの発展とは
たとえ遅くなったとしても、
人間が楽になるように進化している。
高級言語だって遅いのに人間が楽ができるから使われている。

人間よりで考えましょう。
それが可読性。それがプログラムセンス。

527 :仕様書無しさん:2015/01/29(木) 18:56:52.40
>>526
あほか。

528 :仕様書無しさん:2015/01/29(木) 19:17:58.91
言い返せないw

529 :仕様書無しさん:2015/01/29(木) 21:13:28.04
プログラムはほとんどが人間によって産み出されるからね。もし仕事で0と1の反転をするコードを書くときがきたらx=1-xを使わせていただきます

530 :仕様書無しさん:2015/01/29(木) 22:10:27.11
x=1-xはたとえ一瞬でも計算を要する
x=!xなら直球だろ

531 :仕様書無しさん:2015/01/29(木) 22:33:19.87
小学生のとき自称天才だったという、ダブルバッファおさーんのレスの数々、
特に知識をひけらかしているものや、複数の人から支持を受けることを
妄想して自画自賛しているものからは、何かこう、哀しみのようなものが
漂ってくる。どういう哀しみかというと、頭はまあ悪くないのだけれど
プライドの高さが邪魔をして、人生うまくいかない人間に特有の哀切が
感じられてくるのだ。で、それって、何かの小説に出てくる、主人公の
独白に似ているんだよな、何だっけな、と考えていたのだが、ようやく
思い出した。

「山月記」中島敦

532 :仕様書無しさん:2015/01/29(木) 22:39:35.34
8bitなら0x00 と 0xff ?
0x01じゃね〜な

533 :KAC:2015/01/29(木) 22:51:37.71
>>532
例えばC言語なら、論理値は 1 と 0 で実装すると決まってる。

534 :仕様書無しさん:2015/01/29(木) 23:34:52.01
high level language を高級言語とか言っちゃう人はセンスが無い

535 :仕様書無しさん:2015/01/29(木) 23:43:10.51
>>532
アホ過ぎるだろw

536 :仕様書無しさん:2015/01/29(木) 23:49:48.54
>>531
できすぎる人ほどプライドの高い人にハブられる法則

537 :仕様書無しさん:2015/01/29(木) 23:51:27.11
>>534
なんで?

538 :仕様書無しさん:2015/01/29(木) 23:55:56.65
>>536
確かにプライドだけのちんかす野郎にハブられた事は何度かあるな

539 :仕様書無しさん:2015/01/29(木) 23:56:46.06
よかったね

540 :KAC:2015/01/30(金) 01:26:33.12
>>534
まあ、こういうところでも読んで落ち着け
http://www.sophia-it.com/content/%E9%AB%98%E7%B4%9A%E8%A8%80%E8%AA%9E

541 :仕様書無しさん:2015/01/30(金) 07:01:02.63
やっぱ基礎って大事だなと

542 :仕様書無しさん:2015/01/30(金) 07:09:32.22
>>412が当たってるし

543 :仕様書無しさん:2015/01/30(金) 07:11:28.48
romってましたが、自分は1と0を入れ替えたいときに
x=1-x;

x ^= 1;
のどちらのほうがいいかコードの意味合いを考えて選ぶことにします。

544 :仕様書無しさん:2015/01/30(金) 07:25:57.39
>>531 青空文庫にあったから読んでみた。短編ですぐ読めた。衝撃を受けた。
こういう人生の末路をたどりそうなプログラマー(に限らないが。)いそう。

545 :仕様書無しさん:2015/01/30(金) 08:02:16.15
人並み以上には持っているプログラミングという技能で、立身出世を夢見ていたが
意固地な性格が災いして、結局、花開くこともなく、毎日を鬱々と過ごしながら
社会で脚光を浴びているプログラマーや、経済的に成功したプログラマーへの
嫉妬の念をつのらせて、ついには、その人の唯一の武器であった才能も鈍って
誰からも敬意を払われなくなった人はきっと多いのだろう。
そういう人にとって、匿名掲示板が唯一のプライドを保てる場であろことは
想像に難くない。

546 :仕様書無しさん:2015/01/30(金) 11:18:28.10
>>531
お前嫉妬しすぎだろw
どれだけコンプレックス抱えてるんだ?

547 :仕様書無しさん:2015/01/30(金) 12:07:50.76
努力の末に無能であることを悟るのが怖かったのだ

548 :仕様書無しさん:2015/01/30(金) 15:13:21.29
普通の人ほどそういう傾向がつよいみたい
プライドというコンプ・・・

549 :仕様書無しさん:2015/01/30(金) 20:53:48.14
自分にとって不快なレスをしてくる人間は、自分に嫉妬しているからだと決つけて、
どうにか自分を保つ傾向のある人っているね。
山月記では、
「尊大な羞恥心」と「臆病な自尊心」という2つの言葉で表している
ところの性格なんだろうな。

550 :仕様書無しさん:2015/01/30(金) 21:02:38.45
>>377
それはプログラミングのセンスじゃないよ
と言った時点で、ああこいつは色々可哀想なやつなんだな、と思ってしまったよ。

551 :仕様書無しさん:2015/01/30(金) 21:08:19.66
コードを見ずに成果だけでプログラマーを評価するのは
絵を見ずに売買価格で画家を評するようなもの

コードの美しさこそプログラマーの命
コードに言及せず何がセンスだ

552 :仕様書無しさん:2015/01/30(金) 21:11:46.60
小説なんか文章はどうでもいいんだよ!
重要なのは結論だろうが!

桃太郎が鬼退治しました終わり

これで十分だろうが。

重要なのは質じゃない。
結果だ。

553 :仕様書無しさん:2015/01/30(金) 21:15:47.38
結果を出さない奴は屑だ
でも質を大切にしない奴はもっと屑だ

554 :仕様書無しさん:2015/01/30(金) 21:20:18.48
とりあえずざっくりと作って、
そのあとメンテナンス料金を取ればいい。

だから質はいらん。
作った後で直せばいいし、
その分長く客から金をとれる。

555 :仕様書無しさん:2015/01/30(金) 21:22:01.54
保守費用という名のバグ修正費用
小さなバグだから修正に一週間かかります。
なにせコードが糞汚いですから修正したら
何が起きるのかわからないのです←作った奴のセリフ

556 :仕様書無しさん:2015/01/30(金) 21:48:13.17
このオレ様こそがセンスがいいのだ。オレ様以外の、他の人間がセンスある
なんてことは絶対に認めない!絶対にだ!

557 :仕様書無しさん:2015/01/30(金) 21:50:46.58
x^=1 なんてコードはオレ様は見たことないね!だからこんなコード書くヤツァ、
センス以前の、社会常識に欠けた人間だとしか思えない!

558 :仕様書無しさん:2015/01/30(金) 21:53:59.79
>>557
俺もそう思う。

559 :仕様書無しさん:2015/01/30(金) 22:15:09.78
x^=1とか書くヤツはイスラム国の人質にでもなればいい。

560 :仕様書無しさん:2015/01/30(金) 22:21:28.68
x^=1
なんて書いてたら一生、野球選手にはなれないよ。

561 :仕様書無しさん:2015/01/30(金) 22:23:24.65
x^=1って書く人は野球に挫折してサッカー選手になるタイプ

562 :KAC:2015/01/30(金) 22:32:33.31
コードの表現なんてケースバイケースだろうに。
特定の書き方を否定するのは無能だって事だよ。

563 :仕様書無しさん:2015/01/31(土) 06:39:07.79
センスのある人にやらせたらデスマにならんから嫌われるのでは

564 :仕様書無しさん:2015/01/31(土) 07:37:40.60
入って1か月の新人にプログラム組ませて
10年やってる人が同じことして1の時間だとすると
何倍の時間ならセンスあるってなるんでしょうか?
1か月じゃ判断不能なら半年で

565 :仕様書無しさん:2015/01/31(土) 08:02:27.25
いきなり新人にやらせるとは
凄腕なんでしょうね、その新人が

566 :仕様書無しさん:2015/01/31(土) 08:03:35.15
0.1ぐらいかな

いやほんとプログラマの生産性って10倍20倍と違うから…
凡人がどんなに努力しても
出来る奴は最初からできる悲しい現実

567 :仕様書無しさん:2015/01/31(土) 08:11:08.98
>>565
0.1ってことは1時間でおわることを
10時間でやれればすごい新人とみなしちゃっていいわけですか

568 :仕様書無しさん:2015/01/31(土) 08:13:38.67
センスは開発時間の短さよりもソースの可読性とか、再利用性or依存度の適材適所の使い分けとか、目から鱗の画期的なアルゴリズム(難解ではないものに限る)が重要だと思う

センスない人は実装で手一杯、センスある人はメンテまで意識する。学生上がりの新人はこんな傾向が強い
・コメントが少ない
・ソース読めばわかるだろ
・依存し過ぎて寧ろ難解 or コピペしまくりであまりに冗長
・俺が書いたアルゴリズムどやぁ

新人よりも多くのバグを想定して書けるし、デスマにならないようにメンテ性を意識して書けるだろ?

569 :仕様書無しさん:2015/01/31(土) 08:15:07.94
>>567
6分です

570 :仕様書無しさん:2015/01/31(土) 08:19:33.55
ベテラン1時間のところを
新人1か月10時間って意味です

571 :仕様書無しさん:2015/01/31(土) 08:20:12.95
>>568
そこはそんなに難しくないんじゃ
ソースみて同じような書き方すればいいだけだしある程度はできそう

572 :仕様書無しさん:2015/01/31(土) 08:24:03.47
どやぁは性格だからなかなか治らない

573 :仕様書無しさん:2015/01/31(土) 08:42:49.55
新人1か月10時間しかやらなくていいんだ、うらやまししす

574 :仕様書無しさん:2015/01/31(土) 09:15:59.70
このスレで、

自分にとって可読性が低いコード = センスのないコード

とかって言い出すやつは、リアルで同じことを誰かに言われて
何も言い返せない立場なんだろうな。

575 :仕様書無しさん:2015/01/31(土) 09:25:41.54
こういう書き方はセンスある、こういう書き方はセンスがない。
という思い込みを変えられないのは、センスがない。

576 :仕様書無しさん:2015/01/31(土) 10:20:16.71
センス気にするより、基本的なこと覚えたりしたほうがいいんじゃね

577 :仕様書無しさん:2015/01/31(土) 10:30:19.72
ダブルバッファの人の主張は

 「x が配列のインデクスである場合には、
  x が1のとき0にし、0のとき1にするコードは
   x=1-x;
  が良い。」

というものに過ぎないんだが、これに限らず
「〜である場合においては、○○○○である。」
という経験則を、
「(どんな場合においても)、○○○○である。」
という形で主張し始める人は、この国では多い。
そういう人の声が大きかったりすると、それが通って、なんとなく
同調圧力に押されて、自分も納得したような気分にさせられてしまう。

僕は外資系での仕事が多いのだけれど、
外国人プログラマーたちと仕事をすると、こういうのは絶対に
許されないから、本当のプログラミングセンスが育まれる。

578 :仕様書無しさん:2015/01/31(土) 10:34:01.20
外資もピンきりですからね
すでに同じような主張してますよ、わかってますか?

579 :仕様書無しさん:2015/01/31(土) 10:37:18.95
>>578
ごめん。そんなチャチな因縁つけられても答える気は無いよ。

金持ちカンカせずということでね。
あ、僕はいま、けっこうな年収と株をもらっているんだ。

580 :仕様書無しさん:2015/01/31(土) 10:46:04.01
>>577
その主張にはセンスが無いね

581 :仕様書無しさん:2015/01/31(土) 10:47:28.20
>>573
10年が1時間で作れるのを
新人は何時間でできてれば使えるレベルって話

582 :仕様書無しさん:2015/01/31(土) 10:58:41.94
>>580
結構結構

>>577
は、事実を端的に述べることを目的としたレスであって、
自分はセンスのある人間だと思わせるのが目的のレスではないのだから。

583 :KAC:2015/01/31(土) 11:10:59.99
>>564
センスの話は時間と無結びつかないことのほうが多いのでは?

10年もやってれば、
可読性や保守性などに気を使ったコードが出てくるだろうけど
新人にはそれがどういうものか想像すらできないことが多い。

何倍の時間がかかっても、品質の高い生産物が出せるのなら
センスがあると言っていいだろう。

同じ品質ならアウトプットは速いほうがいいけど、
品質の話は新人レベルでは理解されていないのが現状。
速度よりもどれだけ品質に気を使ってるかを気にしてやったほうがいい。

584 :仕様書無しさん:2015/01/31(土) 11:32:49.73
ほんとにセンスのあるヤツは、他の凡人がかけた時間の半分で
品質が倍のものを仕上げてくる。
が、そういうヤツの出現は、あまり歓迎されないので、
「センスがあるね」という形容のされ方自体をされないもの。

AがBに言う「君、センスがあるよ」という言葉には
AがBのことを、「まあまあ使えそうで、オレの言うことも従順に聞きそうなヤツ」
という意味であることがほとんど。

585 :仕様書無しさん:2015/01/31(土) 11:54:05.13
要は、「アレはセンスがあるよ、コレはセンスないよ」とノタマうヤツらの
ことを注意してよく見ろよって話

586 :仕様書無しさん:2015/01/31(土) 12:20:45.13
この人の影響を受けたいと思える人、この人はカッコいいと思える人を選ぶセンス
超重要

587 :仕様書無しさん:2015/01/31(土) 12:40:48.77
>581
> 10年が1時間で作れるのを
> 新人は何時間でできてれば使えるレベルって話

真面目な話、新人は一週間とかかかるよ。

そもそも、新人は一人では出来ないことが多い。
俺が教えないと、まともなコードをかけない。
俺が教えながらやって、一週間だろうな。

で、教えたらって、次同じことを一人でやれるかと
いったら別の話で、多分俺と同じレベルになるには
10年かかると思うよ。

588 :仕様書無しさん:2015/01/31(土) 12:52:33.07
>>587
その話で明らかなのは、587には新人教育のセンスがないということだな。

589 :仕様書無しさん:2015/01/31(土) 13:00:50.91
>>588
意味がわからん。

たとえて言うならば、小学1年生に
微積分を教えるようなもんなんだが、
こんなのが新人教育のセンスで解決できる問題か?

プログラミングは数学と一緒で基礎の知識を元に
その次の知識を積み重ねるものなんだから
俺が一時間で書いたコード・・・には含まれていない前提知識まで
教える必要があるから、それだけの時間がかかるんだよ。

590 :仕様書無しさん:2015/01/31(土) 13:08:28.33
流石に一週間は長すぎだろうと俺も思た

591 :仕様書無しさん:2015/01/31(土) 13:10:46.29
俺が、一時間もかけて各コードの話だぞ?

592 :仕様書無しさん:2015/01/31(土) 13:12:57.36
俺がタイプしてみせて、このように打ってみろって
話じゃないんだが。

593 :仕様書無しさん:2015/01/31(土) 13:17:30.08
せめて10時間までだろ。
40時間もかかるとか、もう少し教え方考えろ。と思わない?

594 :仕様書無しさん:2015/01/31(土) 13:17:42.79
>>589
>意味がわからん。

わからないか。じゃあこう言い換えよう。

貴殿が新人だとして、
>多分俺と同じレベルになるには
>10年かかると思うよ。
なんてこと思い込んでいるような先輩社員にモノを教わりたいと
思うか?

そういう話だ。

俺の会社はそもそも、それなりの大学の情報系学科を出ていて、
(つまり 1と0をひっくり返すコードを書けといったら
x ^= 1; を書きそうなヤツが多い、ということであるがw)
入社試験で、学生時代に書いた、最も自分を語れるコードを提出させて
それについてしゃべらせて、それについて面接官の社員から
質問攻めにあっても全部打ち返してくるような、「頑強な知性」を
持ったヤツ、まあ、プログラマーに生まれてきたヤツと
言っていいかもしれないが、そういうヤツしか入れないから、>>587
ような苦労とは無縁だ。

595 :仕様書無しさん:2015/01/31(土) 13:19:41.83
>>594
お前は話の流れを読むセンスが無いな

596 :仕様書無しさん:2015/01/31(土) 13:29:40.76
入社10年目の先輩に追いつくには10年かかるんじゃない。スペックが同じならだけど。

597 :仕様書無しさん:2015/01/31(土) 13:30:46.78
> それなりの大学の情報系学科を出ていて、

その時点でもう4年かかってるよな?

598 :仕様書無しさん:2015/01/31(土) 13:32:04.90
>>594
お前が無能なのはよく分かったよ

599 :仕様書無しさん:2015/01/31(土) 13:51:43.97
>>594
> 俺の会社はそもそも、それなりの大学の情報系学科を出ていて、
>(つまり 1と0をひっくり返すコードを書けといったら
>x ^= 1; を書きそうなヤツが多い、ということであるがw)

x ^= 1とも書けることぐらい分かるのは大学どうこう以前の常識。
せめて情報系で学部卒なら、
x = 1 - x;
x ^= 1;
x = (x + 1) \\ 2;
x = x ? 0 : 1;
等々、いろいろなバリエーションの中から
それぞれの長所短所からどれがそのコードの文脈に適合するか、
適切に判断できるところが最低ラインだろ。

600 :仕様書無しさん:2015/01/31(土) 13:53:22.80
おお!煽りレスを投下したら、見事に色々釣れてるw

601 :仕様書無しさん:2015/01/31(土) 13:54:33.87
よかったでちゅね

602 :仕様書無しさん:2015/01/31(土) 13:55:07.31
>>600
涙拭けよwww

603 :仕様書無しさん:2015/01/31(土) 13:57:44.48
みんな、センスがあるない、に過敏なんだなあ。要するに自信がないんですよ。

604 :仕様書無しさん:2015/01/31(土) 14:01:35.68
特に>>594 の

(つまり 1と0をひっくり返すコードを書けといったら
x ^= 1; を書きそうなヤツが多い、ということであるがw)

に、やたら過剰反応しているヤシがいるのはワロタw

605 :仕様書無しさん:2015/01/31(土) 14:04:13.87
もうどっちでもいいじゃないですか?

606 :仕様書無しさん:2015/01/31(土) 14:04:17.64
>>604
だから涙拭けってwww

607 :仕様書無しさん:2015/01/31(土) 14:45:56.35
センス以前に読解力の方が・・・

608 :仕様書無しさん:2015/01/31(土) 19:06:47.71
読解力はPGの重要スキル

609 :仕様書無しさん:2015/01/31(土) 20:21:59.65
うーん。。。
言い出しにくい流れだがあえていってみる。

自分は
x=1-x;
よりも
x^=1;
のほうにセンスを感じる。

プログラムの意図から、1か0にしかならないように制御されているx の値を
逆にせよと言われたら、NOTかXORを使ってできないかな?と思うのは
ごく自然なこと

610 :仕様書無しさん:2015/01/31(土) 20:33:01.89
> プログラムの意図から
その意図はどこに書かれているの?
この行を見てわからないからセンスが無い。

611 :仕様書無しさん:2015/01/31(土) 20:35:28.11
>>610
えーと、、、あのね、、まあ、説明するのメンドくさいからやめたw
センス?無くていい

ただ、1と0をひっくり返したいんだけど?と言われたら、自分は即座に
NOTやXORを思い浮かべるって話

それだけ do you understand ?

612 :仕様書無しさん:2015/01/31(土) 20:41:50.64
NOTは言語仕様依存、XORはビット演算だから整数の操作とは目的が違う。
普通に考えると、0と1の反転にNOTやXORを使う人は考えの浅いバグ製造機という結論に至る。

613 :仕様書無しさん:2015/01/31(土) 20:52:07.92
>>612

まあ、
>NOTやXORを思い浮かべる
って書いたように、着想するだけだ。

もちろん、それを実装してみてバグになっていないか検証する。

>普通に考えると、0と1の反転にNOTやXORを使う人は考えの浅いバグ製造機という結論に至る。

というのは早計に過ぎるが、まあ君は私にとって赤の他人だからどうでもよい。

614 :仕様書無しさん:2015/01/31(土) 20:57:06.42
自分の考えと違う人のことを安易に
>考えの浅いバグ製造機という結論に至る。
などとキレる人というのは、チームのお荷物になる可能性が高い。
しかも本人にそれを自覚するセンスがないからよけいにタチが悪い。

615 :仕様書無しさん:2015/01/31(土) 20:57:47.01
>>613
自分が何を指摘されたのか理解してないでしょ?
x ^= 1がバグだと指摘されたのではなくて、
x ^= 1がその後のメンテでバグを生む要因になりやすい、
という指摘をされたのだよ。Do you understand?

616 :仕様書無しさん:2015/01/31(土) 20:59:50.24
>>612
value = ~valueとか
vakue ^= 0xffffとか
何か問題あるん?勿論符合ビットには気をつけるとしてよ

617 :仕様書無しさん:2015/01/31(土) 21:01:56.63
ビット演算は慣れてない人には頭痛かもしれんけど
知らないでプログラマを名乗るのは非常に問題

618 :仕様書無しさん:2015/01/31(土) 21:03:17.33
>>615
君のそのレスは的外れ。自分だけが思慮深くて他人は思慮が浅いと決めつけている
ような人間にまともに回答する気はないけれど、ひとつだけ

>Do you understand?

マネしないでw そういうのマネっこ乞食っていうんです。親に教わらなかった?

619 :仕様書無しさん:2015/01/31(土) 21:04:52.60
>>611
> ただ、1と0をひっくり返したいんだけど?と言われたら、自分は即座に
> NOTやXORを思い浮かべるって話

あ、なるほど。まだ初心者だね。

1と0をひっくり返したい。
→ NOTやXORで書ける
→ 書くことしか考えてない
→ 書くことよりも可読性のほうが重要
→ つまり読んだ時どう思うか?って方が重要。書けるかどうかはどうでもいい

コードを "読んだ" 時、ビットで演算している?
じゃあ、他のビットには違う意味があるのだろうか?
こう考えるのが普通。

あんた、書くまでのことしか考えてないから、
書けるから、書こうと思っちゃうんだよ。

620 :仕様書無しさん:2015/01/31(土) 21:07:57.96
>>619
しつこいなあ・・・

お前がそう考えるのは別に否定しないよ。
で、俺は俺で俺がいいと思ったコードを書くよ。
それでいいよな?

認識しておいたほうがいいが、
お前にある自由は他人にもあるんだよ。

621 :仕様書無しさん:2015/01/31(土) 21:08:25.29
ID出ないから俺は通りすがり(>>616-617)だけどさ
ビット演算で可読性が落ちるとかいわれたら泣くぜ

まあbitInvert()って関数つくっておいてやるから
中身気にしないで使ってくれや

622 :仕様書無しさん:2015/01/31(土) 21:09:54.84
>>616
ビット演算には何の問題もないし、むしろ必要だから存在する。
しかし、それを本来の目的と違う使い方をする事には、慎重にならなければいけない。

623 :仕様書無しさん:2015/01/31(土) 21:10:50.90
vakue ^= 0xffffなんてクソコード以外の何だというのだろう?
初心者以前の問題だろうこれはw

624 :仕様書無しさん:2015/01/31(土) 21:12:56.55
>>621
>ビット演算で可読性が落ちるとかいわれたら泣くぜ

いや、まったくだ。ようやく同じこと思っている人がいて安心したよ。

要するに、この御仁は
「俺が読みにくいコード書くヤツはセンスがない」
と言っているだけなんだよ。
そのアナウンスはとても有害だと思う。

625 :仕様書無しさん:2015/01/31(土) 21:13:13.57
>>620
> で、俺は俺で俺がいいと思ったコードを書くよ。

ほらな。書くことしか考えてない。
書くことはどうでもいいんだよ。

読んだ時どう感じるか?
可読性を重視しないと。

> それでいいよな?
センスが無いってだけだから別にいいよ。

626 :仕様書無しさん:2015/01/31(土) 21:14:25.88
>>621
> ビット演算で可読性が落ちるとかいわれたら泣くぜ

可読性が落ちるって話じゃなくて、
ビット演算をしているなら、
ビットごとに意味があると読めるということ。

627 :仕様書無しさん:2015/01/31(土) 21:14:26.87
>>625
可読性を考えるからこその
x^=1;
だと言ってるんだバカ

628 :仕様書無しさん:2015/01/31(土) 21:15:24.20
> 可読性を考えるからこその
> x^=1;

え? お前 1-x ってコードが読めないの?w

629 :仕様書無しさん:2015/01/31(土) 21:17:04.87
>>626
>ビット演算をしているなら、
>ビットごとに意味があると読める

それはお前固有のクセだと言ったろ。

630 :仕様書無しさん:2015/01/31(土) 21:19:31.16
ま、それぞれ好きに書こうぜって話だわな。センスもへったくれもあるかと。

631 :仕様書無しさん:2015/01/31(土) 21:20:51.33
x=1-xよりx^=1が可読性が高いっていう人って、丸暗記で試験を乗りきる文系タイプっぽいな
ちょっと問題が変わると応用が効かなそう

632 :仕様書無しさん:2015/01/31(土) 21:22:57.14
> x=1-xよりx^=1が可読性が高いっていう人って、

やっぱりこいつわかってねーw

コードそのものがわからないんじゃなくて
読みづらいんじゃなくて、

どちらのほうがやりたい事を的確に表現できるかって
話だろw

633 :仕様書無しさん:2015/01/31(土) 21:23:33.25
やりたい事? 1と0の入れ替えじゃなくて
ビットの判定をしたいんですが?!!!!

634 :仕様書無しさん:2015/01/31(土) 21:24:29.49
>>629
お前がそう言ったのは多分事実だと思うが、それが個人の癖だという理解は間違ってるぞ。

635 :仕様書無しさん:2015/01/31(土) 21:24:53.13
>>629
断言しよう。おまえは馬鹿だ。

636 :仕様書無しさん:2015/01/31(土) 21:26:03.27
0と1を交換したいなら、1-xだろ。
1ビット目を反転したいなら、x^=1だけどな。

0と1を交換したい
→ それって1ビット目を反転すれば出来るんじゃね?
→ ビット演算で表現しました
→ 終わり

0と1を交換したい
→ 1-x
→ 終わり

どっちが無駄なことを考えてるか一目瞭然だな。

637 :仕様書無しさん:2015/01/31(土) 21:26:45.19
>>631
そういうお前は理系なの?しょぼい大学なんだろうなどうせw
繰り返すが、

>ビット演算をしているなら、
>ビットごとに意味があると読める

のはお前固有のクセだ。
直せという気はないし直らない。
ただ、自分固有のクセがあることを知っておかないで人のコードを
批判すると、自分が恥をかくだけだ。
恥をかいていることすら分からないようなら、もうどうしようもないけどな。

638 :仕様書無しさん:2015/01/31(土) 21:27:20.98
1と0をひっくり返すとか反転するとか言っちゃうからビット演算に至っちゃうんでしょ
ちゃんと1と0で発散させると言わなきゃ、数値計算なんだから

639 :仕様書無しさん:2015/01/31(土) 21:27:44.69
ビット演算しているコードを他人が"読んだ時"、
ビットごとに意味があるのでは?と感じるのは普通だろ。
それはプログラミングに慣れてる証拠でもある。

640 :仕様書無しさん:2015/01/31(土) 21:29:16.22
クセ論者ww強すぎwwww

641 :仕様書無しさん:2015/01/31(土) 21:30:46.25
読んだ人が迷わずすんなり読めるように
書きましょうって話なんだけどな。

できるからやる。じゃだめなんだよ。
俺は書けるから書くんだ。じゃだめなんだよ。

642 :仕様書無しさん:2015/01/31(土) 21:30:43.98
実際には
「2bit目や3bit目が立ってたらどうなるんだろう?」

「2や5が入力されてきたらどうなるんだろう?」
に変わるだけだよね

643 :仕様書無しさん:2015/01/31(土) 21:31:27.54
>>ビット演算をしているなら、
>>ビットごとに意味があると読める
>
>それはお前固有のクセだと言ったろ。

俺もビット演算を見たら、ビットに対して意味があると考えるな。
ビットに意味がないのにビット演算する理由がさっぱり思いつかない。

644 :仕様書無しさん:2015/01/31(土) 21:32:49.42
>>638
たぶん、そいつ、1 bitの0, 1と1 wordの0, 1の区別が曖昧なんだよ。

645 :仕様書無しさん:2015/01/31(土) 21:33:21.96
堂々巡りをやってるみたいだ

646 :仕様書無しさん:2015/01/31(土) 21:36:38.19
>>642
それは違うな。

この x という変数は、1ビット目とは別に
2ビット目、3ビット目に、別の意味があるのでは?
と考えてしまう。

1 - xであれば少なくともこの変数は、1つの用途にしか
使われていないってことがわかる。

647 :仕様書無しさん:2015/01/31(土) 21:39:28.28
ビット演算と思うか、排他的論理和と思うか、それは自由だろ。

自分が読みやすいコードのほうが、正当で合理性があると言いたいがための根拠、
にもならない屁理屈を並べているだけだから、何の説得力もない。

648 :仕様書無しさん:2015/01/31(土) 21:40:34.35
xだから分かりにくいだろうけど例えば

state ^= 1

と書いてあったらどう思うか?

普通のプログラマなら、stateはビットごとに
複数の対象の状態を持っていると考えるのが普通だろう。

1 - state であれば、対象は一つであることがわかるだろう。

649 :仕様書無しさん:2015/01/31(土) 21:41:48.39
単に最近ビット演算を知って知った人が
なんでもビット演算でやってしまおうと考えてるだけ。

これは初学者にはよく見られる。
配列を知った人が、なんでも配列を使おうとするのと一緒。

650 :仕様書無しさん:2015/01/31(土) 21:43:16.71
>>647
言語仕様を勝手に個人の自由に解釈すんなよw

651 :仕様書無しさん:2015/01/31(土) 21:44:16.34
>>649
>単に最近ビット演算を知って知った人が
>なんでもビット演算でやってしまおうと考えてるだけ。

そんな妄想で満足できるなら、どうぞどうぞ。

652 :仕様書無しさん:2015/01/31(土) 21:46:13.98
>>651
はい。反論も出てないようですし
満足していますw

653 :仕様書無しさん:2015/01/31(土) 21:47:05.90
なんか、メンドクサイ

>ビット演算をしているなら、
>ビットごとに意味があると読める

という、ごく個人的なクセを持った人相手に、これ以上レスする優しさは
俺には無いよ。

かまってあげられる人はどうぞ続けてください。

654 :仕様書無しさん:2015/01/31(土) 21:49:01.15
>>653
全然個人的な癖じゃないだろw

じゃあ、お前、一つの変数にビットごとに
違う意味がある値が入っている時、
その処理に何を使うんだ?

ビット演算だろうが

655 :仕様書無しさん:2015/01/31(土) 21:53:39.77
XORという演算子をビット演算として使うか、文字通りの排他的論理和として
使うかはプログラマーの自由でしょって話なの。

君の主張はね、大げさに言うと、自分固有のクセを他の人も当然従うものして
強要して、他人がコードを書く自由を侵害しているんだよ。

だからね、
いろんな方向を向いたセンスのあるプログラマーが集まる職場では
とても嫌われるだろうなと思う。

ああ、オレって優しいな・・・

656 :仕様書無しさん:2015/01/31(土) 21:54:37.34
JavaScriptのlintツールであるJSHintには
ビット演算を禁止する設定がデフォルトなんだよね。

理由はJavaScriptでビット演算をすることはまず無いから。

ビット演算がが必要になる典型的な例の、shiftキー、ctrlキー、altキーの
判別もJavaScriptではevent.shiftKey というようにプロパティで取得する。

この例からもわかるように典型的なアプリではビット演算はまず必要にならない。
そこにビット演算が出てきたら、それだけで特殊な用途だなって思うわけ

それが経験の積んだプログラマの正常な感覚だよ。

657 :仕様書無しさん:2015/01/31(土) 21:55:16.17
>>655
> とても嫌われるだろうなと思う。

だからお前嫌われてるんだw

658 :仕様書無しさん:2015/01/31(土) 21:56:13.91
自由は確かに自由だけど、あまり褒められたクセではないな。

659 :仕様書無しさん:2015/01/31(土) 21:57:27.07
要約すると

ビット演算をすると、ビットごとに違う意味があると
読み取れるから、必要ない限り使わないほうがいいって話。

660 :仕様書無しさん:2015/01/31(土) 22:00:16.05
x=1-x;をやたらと擁護してx^=1;を叩く彼は、低学歴大学(MARCHレベル)の理工系卒っぽい。

661 :仕様書無しさん:2015/01/31(土) 22:02:09.05
>>660
そんな妄想で満足できるなら、どうぞどうぞ。


これでいいかなw

662 :仕様書無しさん:2015/01/31(土) 22:03:17.14
まあ、説得力のある理由を述べているのは
どちらかって考えれば答えはわかるよねw

663 :仕様書無しさん:2015/01/31(土) 22:06:51.54
>ビット演算をしているなら、
>ビットごとに意味があると読める

という個人のクセが根拠でしたというネタバレした今となっては
もうどうでもいい話

664 :仕様書無しさん:2015/01/31(土) 22:07:41.63
>>663
お前、このレスから逃げたよね?w

654 名前:仕様書無しさん[sage] 投稿日:2015/01/31(土) 21:49:01.15
>>653
全然個人的な癖じゃないだろw

じゃあ、お前、一つの変数にビットごとに
違う意味がある値が入っている時、
その処理に何を使うんだ?

ビット演算だろうが

665 :仕様書無しさん:2015/01/31(土) 22:10:43.74
まあ、

>>621
>ビット演算で可読性が落ちるとかいわれたら泣くぜ

という同じ考えの人がいて安心したわ。残念ながら
>ビット演算で可読性が落ちる
というレベルの人に合わせてやる義務なんて無いよという職場で
ずっと働いてきて、よかったなと思う。

666 :仕様書無しさん:2015/01/31(土) 22:18:51.07
小技知ってる俺、スゲー
って、いいたいだけでしょ

667 :仕様書無しさん:2015/01/31(土) 22:21:44.66
>>665
自己レスするなよw

668 :仕様書無しさん:2015/01/31(土) 22:23:32.06
ビット演算が難しいって言っている人なんていたっけ?
いや、ビット演算を知らない人は馬鹿だって言っている人ならいたけど。

ビット演算は簡単だよ。簡単だけど使わないのは
適切なコーディングをしているから。

ビットごとに意味がある場合に使うのがビット演算なんで
そういうことをしない限り必要にならない。

だからビット演算が使われてると、
あれ?これなんでビット演算してるの?って思うのが普通なんだ。

669 :仕様書無しさん:2015/01/31(土) 22:24:31.38
自分が読めないコード = それはバグになるコード

とやっちゃう人って実在する。なんていうか、簡単にいうと

失礼な人

って感じ。どんな現場にも一人はいる。

670 :仕様書無しさん:2015/01/31(土) 22:25:43.80
ビット演算は難しいだろ。
俺、理解するのにずいぶんかかったぞ。

だからビット演算を使える俺は
頭がいい証拠で、反論している奴は
ビット演算を理解できないだけなんだ。


と思い込んでる奴がいる

671 :仕様書無しさん:2015/01/31(土) 22:27:17.84
今までx^=1が認められないのは周りがバカだからだと思い
実際周りの人に対してそのように振るまってきたけど
このスレにきて反論しようのない根拠を聞かされ
自分の数々の黒歴史が走馬灯のように蘇えって
今、頭に血がのぼり正直冷静でいられる自信がない

672 :仕様書無しさん:2015/01/31(土) 22:27:31.83
どうせお前らビット演算が難しくて
読めないだけだろ

何が「ビットごとに違う意味がある時に使うもの」だw
使える時はバンバン使うべきだ。
使える俺、かっこいいw

673 :仕様書無しさん:2015/01/31(土) 22:29:12.37
ビット演算はビットごとに意味がある時に使うもの



ビ、ビット演算をばかにしたな!
お前が馬鹿だからビット演算できないだけだ


このは発想w

674 :仕様書無しさん:2015/01/31(土) 22:30:32.77
人間の基本性能がもろに出るよな

凡人が丁寧に規約や常識に沿って書いたコードより
天才がテキトーに書き散らした糞コードのほうがバグらなかったりする。


でも万一何かあったら、ほんとに誰にもどうしようもない。
だから属人性高いコードはそれだけで爆弾になる。
経験二週間の派遣の茶髪の女の子でも読めるコードが望ましいです

675 :仕様書無しさん:2015/01/31(土) 22:31:29.12
>>669
> 自分が読めないコード = それはバグになるコード

俺には当てはまらないな。


ビット演算は簡単なので普通に読めるし使えるが
ビットごとに意味がある時だけに使うべきものだろう

676 :仕様書無しさん:2015/01/31(土) 22:31:57.40
>>674
> 天才がテキトーに書き散らした糞コードのほうがバグらなかったりする。


テメーは天才でも何でもねーからw

677 :仕様書無しさん:2015/01/31(土) 22:33:09.36
>>674
> 経験二週間の派遣の茶髪の女の子でも読めるコードが望ましいです

ビット演算は簡単だけどそんな人でも読めるけど、
ビット演算はビットごとに意味がある時に使うものだから、
使えるけど、1-xのような場合には使ったらだめだよって
ちゃんと教える。

そいういう先輩が居ない人は可愛そうだと思うw

678 :仕様書無しさん:2015/01/31(土) 22:34:38.34
経験二週間の派遣の茶髪の女の子には読めないだろ。

ビット演算は凄く難しい物だったんだぞ
俺は理解するのに一ヶ月もかかった

679 :仕様書無しさん:2015/01/31(土) 22:35:24.25
>>678
だから、ビット演算を使うほうがいいんだね。

680 :仕様書無しさん:2015/01/31(土) 22:36:19.14
各ビットごとに意味を持っているように読めるというのは、
各ビットをビットフラグとして使っているように見えてしまう
ってことだろうけど、

x ^= 1;

という式によって
「変数 x の各ビットが、それぞれ個別に、何らかの属性のON/OFFを示すフラグだと読めてしまう」
というのは明らかに個人のクセだよ。

本人は、それはクセじゃないっていうだろうけど、クセってそういうもの。
つまり他人から、「お前にはこういうクセがある」と言われても
本人はそれをクセだと認識できない。
それぐらい習慣化してしまっているからこそクセという。

681 :仕様書無しさん:2015/01/31(土) 22:36:54.63
>>678
ビット演算が簡単なのは事実
難しいと思ってるお前が馬鹿なだけ。

それとは別に、適切なコードを書くべきという点で
ビット演算はビットごとに意味がある時に使うものって
話をしてる。

いちいち蒸し返すな。難しいとか能力の話にすり替えるな。

682 :仕様書無しさん:2015/01/31(土) 22:38:02.32
>>680
二回目。お前、このレスから逃げたよね?w

ビットごとに意味がある時に使うのがビット演算で
それ以外には使わないから。ビット演算が出てきた時点で
そう考えるのは当たり前

654 名前:仕様書無しさん[sage] 投稿日:2015/01/31(土) 21:49:01.15
>>653
全然個人的な癖じゃないだろw

じゃあ、お前、一つの変数にビットごとに
違う意味がある値が入っている時、
その処理に何を使うんだ?

ビット演算だろうが

683 :仕様書無しさん:2015/01/31(土) 22:39:09.27
「ビットごとに意味がある時に使うのがビット演算」ということに
論理的な反論ができない時点で、終わってるでしょ。
技術者としても、人としても

684 :仕様書無しさん:2015/01/31(土) 22:39:40.17
あくまでもクセで押し切る潔さwその性格は嫌いじゃないぞw

685 :仕様書無しさん:2015/01/31(土) 22:41:24.30
統計取れば、

ビットごとに違う意味があるとき → ビット演算をつかっている
そうではない時 → 数値演算をしている

というのは明らかだろう。

統計データから明らかなことなのに、それを個人の癖とか言ってる時点で
経験が浅いんだなぁって思った。

686 :仕様書無しさん:2015/01/31(土) 22:42:15.14
>>680
現実を認められんようだが赤の他人の俺だってそう読める。

そんなに人いないであろうこのスレで、少なくとも2人は同じ考え方する奴がいるわけで、
明らかに特異な癖ではない。
特に組み込み系なんかだとそういう使い方することが多いことを考えれば、
そういった考え方をする人間がいるだろうということに思い当たるべき。


自分と違うからというだけで、自分を基準に考えて他人を非難する奴は職場の雰囲気悪くするぞ…

687 :仕様書無しさん:2015/01/31(土) 22:47:42.58
補足しておくと、組み込み系でビット演算が使われるのは
CPUのレジスタやI/Oの引数や戻り値がビットごとに異なる意味があるという
ハードウェア上の仕様から来ている。

だからハードウェアよりではないところでは
ビット演算の必要頻度は下がる。

JavaScriptのevent.shiftKeyのように、従来はビット演算でやっていたような処理でさえ
一つのbool型のプロパティとして表現されるから、ビット演算の出番は少なくなる。
だからこそJSHintのデフォルト設定はビット演算の仕様が禁止されてる。

688 :仕様書無しさん:2015/01/31(土) 22:48:56.25
>>686
一人の癖じゃなかったら、二人の癖ってだけの話だ。
ばーかばーか

689 :仕様書無しさん:2015/01/31(土) 22:49:20.54
確かに今時ハードよりでもない限りビット毎に情報を保持する必然性ってあまりないよね

690 :687:2015/01/31(土) 22:51:41.35
ちなみに俺は>>686じゃないよ。

勝手に補足しただけ。

691 :仕様書無しさん:2015/01/31(土) 23:00:40.25
ビット演算は初歩でならう基礎で知っておくべき知識だけど
実際には殆ど使われないと。

特殊な用途でしか使われないので、組み込み系でもないかぎり
それが出てきた時点で通常とは違う意味があると考えてしまうもの。

それがわからないのは、実践経験がなく勉強したばかりで
どちらのほうがよく使われてるか?も知らないという証拠でもある。

692 :仕様書無しさん:2015/01/31(土) 23:07:22.40
x^=1;
という式自体には、
「xの各ビットはそれぞれビットフラグなんですよ」
なんてことは何も言ってない以上、
「各ビットに意味があるように読めてしまう」
のは個人的なクセだろうと言っていて、誰もがそういうクセを持っている
わけではないよという話をしているだけなんだがな。

で、「オレのクセは良いクセなのでみんなも見習え」ってドヤっている
だけのなのが丸分かりだから、ちゃんと相手してもらえないんですよ。

693 :仕様書無しさん:2015/01/31(土) 23:11:51.44
だいたいね、x^=1;をやたら叩くおまえさ、やたらムキになっている
ところからして、お前自身、「やばい。形勢不利だな」と思っている
ことがバレバレなんだよ。
なのに長文で意味のないレスを連投するから、ますますハズイやつだなあってことになるの。

694 :仕様書無しさん:2015/01/31(土) 23:18:05.26
x^=1;
というビット演算を使ったコード自体には、
「xの1ビット目だけを対象しています」
という意味になってるから、
必然的に他のビットには別の意味がありますって
ことを言ってることになるんだよね

これで結論じゃないかな。

695 :仕様書無しさん:2015/01/31(土) 23:19:40.80
ぶっちゃけ x^=1 を叩く人って、どういう結論になれば満足するの?

696 :仕様書無しさん:2015/01/31(土) 23:22:36.45
>>695
最初から結論出てるじゃん。

どちらも動くからいい。ではなくて
より適切なコードを書きましょうって。

x^=1が適切な理由は何ひとつも出てないが
適切ではない理由は、ビットごとに意味があると勘違いされてしまうと
ちゃんと出ているわけで、

はい。その通りです。で終われば満足だよ。

別にハードウェアよりとかで、ビットごとに意味があるときに
限っては使うって言って、絶対いに使うなとは言ってないんだから
反対している人はそれで満足でしょ?
どうせビット演算を使ってみたいってだけなんだろうからさ。

697 :仕様書無しさん:2015/01/31(土) 23:23:17.77
結論つーかリアルの職場で頭が固い主張をする人が減ってくれればいい

698 :仕様書無しさん:2015/01/31(土) 23:25:22.50
どちらかと言えば、x^=1に固執している人って
どういう結論になれば満足するの?って聞きたい事案だなw

適切ではない理由がでてるなかで、
他人を馬鹿にすることでしかx^=1を使う理由を言えない時点で
こいつだめでしょw 使い物にならない。

699 :仕様書無しさん:2015/01/31(土) 23:26:25.40
普通
x = !x
じゃない?

700 :仕様書無しさん:2015/01/31(土) 23:27:21.93
中立な立場からいうと
>x^=1が適切な理由は何ひとつも出てない
とは思えないが、だからといって
x^=1叩く側の人が
>x^=1が適切な理由は何ひとつも出てない
と思うこと自体は問題ないと思う。

701 :仕様書無しさん:2015/01/31(土) 23:30:01.68
俺はもちろん、こんな用途ではビット演算しない派だが
ビット演算使うとか言ってる頭固い奴。そうだ。お前だ。

n×10を何も調べずに、シフト演算と足し算で実装できるか?

なんでこういうことを聞くかというと、お前、ビット演算習ったばかりで
技術力も低いのに無理やり使おうとしてるだろってこと。

まあn×10の答えは言わなくていいよ。
どうせぐぐればわかるし。

ただ、お前がどうやるんだろう?って思ったら、
それはお前が技術力低いってことに証だってこと
他の誰にもわからなくても、お前自身は自分が技術力が低いことを知っている。

702 :仕様書無しさん:2015/01/31(土) 23:30:26.99
>>699
それだと1と0の交換になるとは限らない

703 :KAC:2015/01/31(土) 23:30:49.51
まだやってたのか。
やたらとビット演算叩く奴は本当に知識が無いんだろ。
0/1だけの話と混同してるから理解できないんだよ。

まず、値を交換する( 4なら5、5なら4など)演算子は無い。
これはわかるな?
演算子「-」は、あくまで減算だからな?

 入れ替えたい値の合計から引けば入れ替わる
  x = ( 4 + 5 ) - x ;

これがいいたいんだよな?

で、だ。
排他的論理和使って入れ替える方法もあるんだよ。

 入れ替えたい値のxorをxorすれば入れ替わる
  x ^= 4 ^ 5 ;

理解できる?
算術演算使うのもビット演算使うのも可読性はたいして変わらん。

一応言っておくと、処理速度はビット演算の方が有利だぞ。

704 :仕様書無しさん:2015/01/31(土) 23:33:07.17
x^=1が適切な理由は何ひとつも出てないが
x^=1が適切ではない理由はちゃんと出てる

705 :仕様書無しさん:2015/01/31(土) 23:33:56.53
>>703
お前、的外れすぎ

ビット演算は簡単であり、
ビット演算がどう動くかの話はしていない。

ビットごとに意味が無い所で
ビット演算を使うのはよくないという話をしている。

706 :仕様書無しさん:2015/01/31(土) 23:34:07.71
>>700

もういいよ。
この議論はこういうことだった。

x ^= 1;
を見たときに、「x のそれぞれのビットは個別の属性を表す
ビットフラグであると読めてしまう」という人が世の中には
いましたと。
で、世の中いろんな人がいるんで、オレはそういう人がいても
いいとは思う。だが、少なくとも、オレはそう読めないし、
今後も読まないと思う。以上。っていう、ある意味その程度の話なんだよ。

707 :仕様書無しさん:2015/01/31(土) 23:35:02.22
>>703
残念だがその話はとうの昔に出てる。で、今な訳。

708 :仕様書無しさん:2015/01/31(土) 23:36:50.19
>>706
> を見たときに、「x のそれぞれのビットは個別の属性を表す
> ビットフラグであると読めてしまう」という人が世の中には
> いましたと。

いましたというより、それが大半だな。

それが大半だからという前提に基づいて
話をしてくれ。

709 :KAC:2015/01/31(土) 23:36:56.83
>>705
おまえ、話を理解できてないだろ。
じゃあ、

 「計算じゃない場面(値の交換)で「減算」を使うのはよくない」

って意見を出すからそれに反論してみてくれる?

710 :KAC:2015/01/31(土) 23:41:04.61
>>707
それは知ってる。。。
どう見ても理解できてなさそうだから、
今の流れに合わせてあえてもう一度書いてみた。


で、やっぱり理解されて無い。。。と。

711 :仕様書無しさん:2015/01/31(土) 23:41:59.68
>>709
>>705じゃないけど、、、
おまえ、プログラミングを理解できてないだろ。

「プログラムに計算じゃない場面はない」

712 :仕様書無しさん:2015/01/31(土) 23:42:37.54
>>709
??まったく理解できん
まさにそのとおりじゃないの?

713 :仕様書無しさん:2015/01/31(土) 23:43:13.69
KAC氏が、>>703でオレの言いたいこと全部言ってくれたから
もういいやw

しかし、KAC氏は優しいなあ・・・
ちゃんと相手に向き合ってるもんなあ・・・
こういうのは見習いたい。

714 :仕様書無しさん:2015/01/31(土) 23:44:38.50
decimal x = 1

//0と1を入れ替える
x ^= 1

715 :仕様書無しさん:2015/01/31(土) 23:46:28.81
それにしても、本当に話が通じないやつっているんだなっていうのを
実感できたという意味では、この議論は、自分としてはけっこう意味が
あったように思う。リアルでも生かしたい。ありがとう。

716 :仕様書無しさん:2015/01/31(土) 23:48:54.12
自分の耳に心地いい意見しか聞かないタイプだなw

717 :仕様書無しさん:2015/01/31(土) 23:50:14.87
姉さん、自演です。

718 :仕様書無しさん:2015/01/31(土) 23:53:33.19
おおざっぱに流れだけ追うと、

  x^=1 にすると、xのそれぞれのビットは個別の属性を表す
  ビットフラグであると読めてしまう。

っていうのに対して

  それは個人的なクセだろ。

ていう突っ込みが入ってから x^=1を叩く側の過剰反応が
激化したように思える。

で、その過剰反応に、

  なんでそんなにキレんの?

っていう感じな流れ

719 :KAC:2015/01/31(土) 23:54:20.78
>>711
その反論だと、
 じゃあ、ビット演算でも全く問題がないわけだ。
という結論になるってこと。

ビット演算が駄目で、算術演算が正しいって
結論が導き出せる反論できるか?

って意図の質問だから、そういう反論されても意味がないよ。

720 :仕様書無しさん:2015/01/31(土) 23:57:02.67
ビット演算の悪い点としては処理が実装に依存してることだろう

>>703の方法だと、数値がビット配列にマッピングされる方法に関わらず一定の結果になるからそう悪くはない。
でもそれなら、
x ^= (0 ^ 1) って書くべきだよな…?

721 :仕様書無しさん:2015/01/31(土) 23:58:02.38
>>705 は

>ビットごとに意味が無い所で
>ビット演算を使うのはよくない

と考える根拠を言え。

722 :仕様書無しさん:2015/01/31(土) 23:59:44.12
>>719
だからお前はスレ読んでるのか?

整数の計算にビット演算使ったらややこしいだろうがボケ!

つー流れなんだよ、いままでの流れがその疑問への反論だわ。

723 :仕様書無しさん:2015/02/01(日) 00:00:28.74
>>709
ビット演算はだめ
減算はだめ

だとしたら一時変数か?

今話してるのは、
1ビット目反転コードは適切ではないつて、
話をしているんだか
それを認めたうえで別の話をしようって
ことなのか?

724 :仕様書無しさん:2015/02/01(日) 00:02:09.14
>>720
いっとくが
x^=1;
にしたって、着想して、紙に書いて、実際に書いて正しく期待通り動くか
当然確認はするよ。

あんまり他人を舐めないようにね。

725 :仕様書無しさん:2015/02/01(日) 00:04:53.53
>>722
>整数の計算にビット演算使ったらややこしいだろうがボケ!
>
>つー流れなんだよ、

いや全然、そんな流れじゃねーからw

流れとしては、
>整数の計算にビット演算使ったらややこしい
のは、残念ながらお前の頭がそれほど良くないってことで、
お前は、お前よりも頭の良い人に、
「オレに合わせろ!」って言ってるだけだと、
何度言えば分かるんだ?

726 :仕様書無しさん:2015/02/01(日) 00:05:48.00
問題をはっきりさせよう。
問題は、(上級者が)1ビット目以外を
他の用途に使っているのではないか?
と勘違いしてしまうことにある

初心者だけが勘違いするのは技術不足
になるが、上級者を勘違いさせるコードを
書いてはならない

727 :仕様書無しさん:2015/02/01(日) 00:05:52.66
>>724
作ったコードのテストするのは当たり前だし、今はコードの可読性とか普遍性の話してるんだよ?

お前のは「パッと見わかんなくても危なっかしくても動きゃいいんだ!」って言ってるのと一緒やん
とりあえずお前は舐めとくわww

728 :KAC:2015/02/01(日) 00:07:02.66
>>722
話が理解できてないのか・・・

やりたいことは
 if( x == 4 ) x = 5; else x=4 ;
だよな?
整数の計算なんてそもそも必要ない。

入れ替えを算術演算(整数の計算)でやるか
ビット演算でやるかって話なんだから、
算術演算演算しか頭にないのは問題だよ。

729 :仕様書無しさん:2015/02/01(日) 00:08:10.76
x^=1;を叩く人って、要するに、「オレが混乱するコードは書くな!」って
言ってるだけなんだよ。

たぶんそろそろ、自分たちも気づいてると思うんだよね。

やばい。オレは、「オレが混乱するコードだからダメ」と言っている
かもしれない。

ってね。なのにあーだこーだ言ってくるから、見苦しいったらありゃしねえ。

730 :仕様書無しさん:2015/02/01(日) 00:08:20.45
IF文なんか使ったら処理ルートが増えちゃうじゃないか!

論外

731 :仕様書無しさん:2015/02/01(日) 00:09:41.94
>>728
だからビット演算では
1ビット目以外を他の用途に使って
いるのではないかと勘違いさせるのが
問題なんだって

732 :仕様書無しさん:2015/02/01(日) 00:10:59.14
いーや実装依存が問題だ!

733 :仕様書無しさん:2015/02/01(日) 00:12:00.29
>>727
>お前のは「パッと見わかんなくても危なっかしくても動きゃいいんだ!」って言ってるのと一緒やん

まーた、そういう自分にだけキモチイイ思い込みに閉じこもる・・・

アホだなあw

こんなアホでもいちおうプログラマーでございとか言って
仕事できるんだから、まあいい仕事ではあるな。
性格が変な人間に神が救済として与えた仕事という側面もあるのだな、きっと。

734 :仕様書無しさん:2015/02/01(日) 00:12:04.01
>>729
「俺が」ではなくて
多いの上級者が勘違いしてしまう
だからダメだという話

735 :KAC:2015/02/01(日) 00:12:30.88
>>726
それは、
「上級者がxorで反転できることを知らない」
という前提が必要になるわけだが・・・

そうなると、
「上級者が減算で反転できることを知らない」
という前提も必要。
 x = 1 - x ;
も、なにか計算をしていると誤解を与えることになるね。

736 :仕様書無しさん:2015/02/01(日) 00:14:53.20
>>728
いやだからお前にとっては、はXORは値のスワップするもんかもしれんが
普通の人にとってはビットごとのフラグの集合が考えに上るから
ビット演算はよくないって話なんだよ。まずちゃんとスレ読め。

737 :仕様書無しさん:2015/02/01(日) 00:15:18.98
>1ビット目以外を他の用途に使って
>いるのではないかと勘違いさせる

しないよ。
別に唐突に x^=1; という式が出てくるわけではないからな。

x^=1; というふうにxの値を変えるということは、それまでに
なにがしか、x はこれこれこういう目的のための変数っていうのが
分かる。
だから
>1ビット目以外を他の用途に使って
>いるのではないかと勘違いさせる
なんてことは実際にはない。

738 :KAC:2015/02/01(日) 00:15:52.96
>>732
ちらほらと見かける「実装依存」だけど、
具体的になにが実装依存だと気にしてるの?

実在しなくてもいいから、
こういう実装の場合にこんな問題があるって
具体的に示したほうが伝わると思うぞ。

739 :仕様書無しさん:2015/02/01(日) 00:18:43.26
>>736
>普通の人にとっては

だから、その「普通の人にとっては」とか「上級者を混乱させる」
とか、見てきたようなこと言うなよ。

そんな詭弁を弄する野郎に舐められても痛くも痒くもない。

740 :仕様書無しさん:2015/02/01(日) 00:19:51.23
ビット演算で1ビット目を反転しているコードをみたら
上級者の100人中99人は、じゃあ
他のビットは何に使われているんだ?って考えるだろうな

だから問題なんだっていってるわけで

741 :仕様書無しさん:2015/02/01(日) 00:20:10.50
>>739
いや、実際見てきた事なんだけど。

742 :仕様書無しさん:2015/02/01(日) 00:20:15.28
>普通の人にとっては
とか言い出しちゃうヤツって、もう、論外だと思うんですね、個人的には。

743 :仕様書無しさん:2015/02/01(日) 00:21:09.60
>>741
必死だなw

744 :仕様書無しさん:2015/02/01(日) 00:23:29.27
>>683
マジで言ってる?
あたま大丈夫か?

745 :仕様書無しさん:2015/02/01(日) 00:24:30.29
上級者にとって、ビット演算は
一部の例外を除き、
ビット毎に個別の意味があるときに
使うのが常識なわけで
それがわからないのは、経験の浅い
初心者だね

つまり初心者がビット演算が〜ビット演算が〜って
叫んでるようにしか見えない

746 :仕様書無しさん:2015/02/01(日) 00:24:54.59
>>740
そう思ってるのはお前だけという事実

747 :仕様書無しさん:2015/02/01(日) 00:25:17.82
>>738
decimal型だったらどうすんのさ

ケツに指数部とかついてたらx^=1はアウトじゃないか
それにオブジェクト指向だとビット配列という内部実装をさらすのを許さない言語だってある

でも
0=1-1,1=1-0
は全宇宙で成り立つ永遠の真理。こちらを使うべき

748 :仕様書無しさん:2015/02/01(日) 00:25:36.14
>>745
あたま大丈夫か?

749 :仕様書無しさん:2015/02/01(日) 00:25:50.40
>>740
>ビット演算で1ビット目を反転しているコードをみたら
>上級者の100人中99人は、じゃあ
>他のビットは何に使われているんだ?って考えるだろうな

だからー

x^=1;
という一行だけを、ポンと出されたらそう思うが、
実際のプログラムでは、x を何の目的で使っているのかが
x^=1;
というコードが出現する前に書かれるから混乱なんてしないよ。

もうね、
>ビット演算で1ビット目を反転しているコードをみたら
>上級者の100人中99人は、じゃあ
>他のビットは何に使われているんだ?って考えるだろうな

なんていう、実際にはありもしない空疎な想像で反論してくるから
ますます追い込まれるんだよ。

750 :仕様書無しさん:2015/02/01(日) 00:27:01.55
>>747
なにが問題か解らん

751 :仕様書無しさん:2015/02/01(日) 00:27:54.05
x^=1押しの理由か、x=1-xが駄目な理由を論理的に説明出来る人いるの?

752 :仕様書無しさん:2015/02/01(日) 00:28:42.08
>>745 は、ダメだな。経験積んでも、たぶん、この話の本質は分からない。

753 :仕様書無しさん:2015/02/01(日) 00:34:09.02
>>751
いっとくが、オレは
x^=1
を押してはいないからね。

単に、
「ある整数のxがありましたとさ。で、x は0と1しか値をとらないような、
そういうプログラムの中で使われます。さてここで問題。
x が0のとき1,1のとき0にするコードを書いてください。」

と言われたら、オレは
x = NOT x

x = x EOR 1
が浮かぶので、まずこれらを書いて試してみるだろうな、って話をしている。
なので、別に
x = 1-x;
がまずひらめくヤツがいたっていい、というのがオレの立場

それにしても、ある2つの値があって、これを入れ替えるのに
NOTやXORを着想することが、こんなにも非難を受けるとは、まじで新鮮な思いだ。

754 :仕様書無しさん:2015/02/01(日) 00:36:43.90
>>753
x = NOT x

これはさすがに殴る

755 :仕様書無しさん:2015/02/01(日) 00:40:11.65
要するに、

  「x は0と1しか値をとらないような、 そういうプログラムの中で使われます。」

と言われたら、

  「それでは、なるべくx をブール値として扱ってあげるよう最大限の努力を惜しみません。」

というスタンスのコードを書くよって話。
で、その最大限の努力のために、NOTやXORを使ってみて、
うまくいったらそれで良しという話。

この話で、ビット演算子を使うなというのは、
「x は0と1しか値をとらない」といわれているのに「xをブール変数と考えてはいけません」
と言われているようなものなんだよ。

756 :仕様書無しさん:2015/02/01(日) 00:43:46.02
>>754
殴ってみろw

>>755の続きだが、前提として
「x は0と1しか値をとらないような、 そういうプログラムの中で使われます。」
ではなくて
「x は配列のインデクスです。が、あるコードブロックの中では1と0しか値を持ちません。」
と言われたら、
x = 1-x;
と書いたかもしれない。少なくとも配列の添え字と分かっている前提でなら、
x に対して論理演算をしようとは思わないと思う。

なので、こういった前提が出尽くしてない中で、
x^=1;
を叩くのは筋違いだと思うわけだ。

757 :仕様書無しさん:2015/02/01(日) 00:46:11.92
それにしても、人というのは、いかに自分の思い込みから
抜け出せないものか、本当に実感することができた。
そういう意味では、
x^=1;を叩いた人に感謝したい。リアルでのコードレビューなどに生かしたい。
自分も後輩のコードをレビューするとき
x^=1;を叩いた人のようなことをしていたら、後輩の育つ芽を摘み取っているような
ものだからな。

758 :仕様書無しさん:2015/02/01(日) 00:47:23.05
>>755
お前に対して悪意がある訳じゃないが

ブール値とみなす事は認めよう。
では、なぜ最大限の努力だとNOTやXORになるんだ?
ここまで、そこの説明がちゃんとされてないと思うぞ。

759 :753:2015/02/01(日) 00:48:07.29
誤:x = x EOR 1
正:x = x XOR 1

760 :仕様書無しさん:2015/02/01(日) 00:52:49.33
>>758
それは、あなたが、「ビット演算子を見るとそのオペランドの変数は
各ビットごとに何らかの属性を示すON/OFFを示すものに
見えてしまう」というクセがあるのと同様に、
オレにも考え方のクセがあって、それは、
2つの値、1,0はもちろん、"T"と"F"でもいいし、true, falseでもいいが
それらを「入れ替える」と言われたら、論理演算や集合演算としての
NOTやXORが浮かんでしまうというものだからだ。

761 :仕様書無しさん:2015/02/01(日) 01:00:27.74
それとさっき
>>755


> 「それでは、なるべくx をブール値として扱ってあげるよう最大限の努力を惜しみません。」

と書いたけど、この「最大限の努力」というのは、
x をブール値として扱ったときに、そのように扱っているということが
もっとも表明できるような(読む人に伝わるような)式を書くということだ。

もちろん
x^=1;
という式が出てくる以前で、xが0でも1でもない値になりそうな怪しいコードが
あれば
x^=1;
は使わないか、true, false で書き換えるというリファクタする方向を選ぶだろう。

762 :仕様書無しさん:2015/02/01(日) 01:02:20.19
つかさー
オレが、
x^=1;
と書いたところで、あんたらに迷惑がかかるわけじゃないっしょ?
だったら、いいじゃん。

っていう。

763 :仕様書無しさん:2015/02/01(日) 01:03:38.60
数値の入れ替えだからこんだけもめてたんだろうがw
ブール値ならx=!x固定だよ!

話の主旨を理解してなかったのか、話を混ぜ返して誤魔化そうとしてるのか…

764 :仕様書無しさん:2015/02/01(日) 01:04:37.85
まあブール値だったらtrue/falseが本筋だよなw

765 :仕様書無しさん:2015/02/01(日) 01:07:51.30
>数値の入れ替えだからこんだけもめてたんだろうがw
>ブール値ならx=!x固定だよ!
>
>話の主旨を理解してなかったのか、話を混ぜ返して誤魔化そうとしてるのか…

誤魔化そうなんてしてないが? 

、、、まあ、何を言っても無駄だろうけどな。

766 :仕様書無しさん:2015/02/01(日) 01:09:17.07
>>765
クセって言いだしたのお前なのかw

767 :仕様書無しさん:2015/02/01(日) 01:11:32.86
オレとしては、この一連の話でためになったのは
>>757
に書いたことにつきる。

自分も、自分固有のクセを普遍的なものへと無意識に拡大解釈して
それをもとに、部下や発注先の成果物を評価しているかもしれない。
自戒をこめて、思い込みを捨てる難しさを知った次第。

768 :仕様書無しさん:2015/02/01(日) 01:19:45.22
あと、人って「それはお前だけの話だろう」っていう突っ込みを
されると、必死に「そうじゃない。普遍的な話だ」って言い出して、
ますます火に油を注ぐもんだな。

>いや、実際見てきた事なんだけど。

はウケタwんだけど、2ちゃんだからいいようなものの
こういう人、年配エンジニアには多いから
彼らの扱いは気をつけよう。
「俺は経験からモノを言ってる。間違いない」
って言う人は実際多い。
どうやってプライドを傷つけずに、軌道修正させるか。
とても難しい問題。

で、ずっと前のレスに書いた、仕事のできる後輩は
そういう、「俺は経験からモノを言ってる。間違いない」オサーンの
扱いも上手いんだよ。えらいね。

769 :仕様書無しさん:2015/02/01(日) 01:24:55.52
>>768
おい待て俺はまだ30代だ、まだケンカ売る気かコラ

770 :仕様書無しさん:2015/02/01(日) 01:33:30.81
>>769
実年齢は問題ではない。

年が若くても、精神が老害なオサーン化しているヤツはたくさんいる。
逆に、年齢が40、50台とかなりいっていても、精神が若くて
柔軟に考え方を変えられる人もいる。

あと、
>>769のようなガラの悪い、ケンカ早いヤカラも、各現場に一人はいますねw

いろんな人がいて面白いわー

プログラミングっていうのは、きわめてロジカルなんだけど
書くのは人間だからね。

いろんなことでモメルのが、実に味わい深い仕事だと思う。

771 :仕様書無しさん:2015/02/01(日) 01:44:33.05
前入ってたプロジェクトでは進捗会議で、いい大人がガチで罵り合うとか
あったからなー 

772 :仕様書無しさん:2015/02/01(日) 01:57:52.37
プログラマーはケンカしてなんぼやろ、ケンカもセンスのうちやで。

773 :KAC:2015/02/01(日) 03:43:37.51
どうやら落ち着いたようなのでこのあたりにも反応しとく。

>>751
x^=1押しの理由や、x=1-xが駄目な理由なんかは必要ないだろ。
誰も算術演算で実装する方法ょ否定していない。
ただ、算術演算が優れているわけじゃないってことは理解しておいたほうがいい。

ifや三項演算子を使うものを「条件分岐」
^ を使うものを「ビット演算」
- を使うものを「算術演算」

と呼んだ場合、可読性やメンテナンス性は
 「条件分岐」 > 「ビット演算」「算術演算」
フットプリントや実行速度の優位性は
  「ビット演算」 > 「算術演算」 > 「条件分岐」
と考えていい。
可読性の高い条件分岐を使わない主な理由は速度だとすると
その場合に、より速度の高い方法を取るほうが自然の発想。

また、算術演算の方法だと大きな値の時にオーバーフローの可能性もあるので
実装によっては気をつける必要がある。


なんにしろ、色々な実装の特性を理解して、場合に応じて選択できるようになれってこと。
「x^=1は駄目。絶対x=1-xにしろ」とか言ってる奴がおかしいと叩かれてただけ。

774 :仕様書無しさん:2015/02/01(日) 04:04:01.33
まだやってんのか…
変数名がbankとか0/1と分かるネーミングならどっちでもいいよ

775 :仕様書無しさん:2015/02/01(日) 06:48:43.62
おまえらすげーな。じゃあ俺さまも長年の経験から一つ書いといてやる。

発注者の注文やらコメントやら、あるいは呼び出し元の作りでもいいが
「この変数は1か0しかとりません」なんて前提を信じ切っちゃうような奴はセンスはともかく経験が足らない。

776 :仕様書無しさん:2015/02/01(日) 07:41:31.08
パスが増えちゃう条件分岐使う人が一番センスないと思うの…

777 :仕様書無しさん:2015/02/01(日) 08:46:42.08
if (x == 1) x = 0; else ++x; だよな?普通w

778 :仕様書無しさん:2015/02/01(日) 09:02:22.22
1週間も、同じことで言い合うのってマ板では普通のことなの?

779 :仕様書無しさん:2015/02/01(日) 09:06:47.92
ビットフィールド使えばいい
ビット単位で意味づけしてるのがわか・・・
ビットフィールドでハマって、使わない人もいるみたいですが

780 :仕様書無しさん:2015/02/01(日) 09:50:26.00
>>775
>「この変数は1か0しかとりません」なんて前提を信じ切っちゃう

なんて、どこにも書いてない。

どこにも書いてないことを、自分だけの前提として思い込み、それを
他人との共通認識にして話すのは辞めようっていう結論になったのに、
まだそんなこと言ってるの?

残念な人だなあ。

781 :仕様書無しさん:2015/02/01(日) 10:32:47.91
x=(x+1)%2
ならその心配もない

これが一番いい気がしてきた

782 :仕様書無しさん:2015/02/01(日) 10:32:57.36
>>778
IDが出たり、トリップ付けたりしてくれるなら無限ループみたいにはあんまり
ならんけど、ここは違うからねえ。

783 :仕様書無しさん:2015/02/01(日) 11:20:15.69
x=(x==0)?1:0;

784 :仕様書無しさん:2015/02/01(日) 11:34:00.96
一行でセンスを唱える人たちwww

785 :仕様書無しさん:2015/02/01(日) 12:15:30.31
>>776
えっ?普通は条件分岐で書きゃいいもんだけどそれは置いといて、
x^=1 か x = 1 - x から選べって言われたらどちらにするかという話じゃないの?

条件分岐だとパスが増えるんじゃなくて、演算でやることであるはずのパスが隠蔽されてるだけ。

786 :仕様書無しさん:2015/02/01(日) 12:27:59.80
たかが0と1の反転程度で全ビットの反転と加算をするのはセンスが無いという話じゃないの?

787 :仕様書無しさん:2015/02/01(日) 12:41:19.24
>>781
> x=(x+1)%2
> ならその心配もない
>
> これが一番いい気がしてきた

ビット演算でやれって言ってる馬鹿はどう反論するか見ものだねw

まあ出来るね。そしたらこう答える。0と1を繰り返すのは簡単だ。
じゃあ0〜2を繰り返すのはどうするかね?と

つまりこういうこと x=(x+1)%3
0, 1, 2, 0, 1, 2, 0, ...と 繰り返す。
2進数で書くと、00, 01, 10, 00, 01, 10, ... と繰り返す。

そしてその次に x=(x+1)%173 をビット演算でやるにはどうするのかね?と
いじわるな質問をするwww
この頃にはビット厨は頭がフットーして大混乱www

788 :仕様書無しさん:2015/02/01(日) 12:44:02.24
×2をするとき、ビットシフトを使う奴は
プログラムセンスがあるだろwww

789 :仕様書無しさん:2015/02/01(日) 12:45:42.35
>>787
%使う話はとっくに出てて話は終わってるんだが
文盲さんですか?

790 :仕様書無しさん:2015/02/01(日) 12:46:32.72
話が出ただけで評価はあまりされていない

791 :仕様書無しさん:2015/02/01(日) 12:46:53.52
>>783
それはない
x=x==0;
で良いって結論出てる

792 :仕様書無しさん:2015/02/01(日) 12:48:09.56
なんかあれだな、結局素直なやり方が一番分かりやすいし、応用も効く。

793 :仕様書無しさん:2015/02/01(日) 12:50:27.57
>>791
trueを1と混同するその考え方は
議論の前提にすら到達していない

794 :仕様書無しさん:2015/02/01(日) 12:50:28.54
>>787
1-xするって奴はその前に思考停止しちゃってるから平気ってか

795 :仕様書無しさん:2015/02/01(日) 12:50:32.65
ちょっとでも早くしたいってのもあるけど、センスとか関係なしに
命令体型で書き方変えたりとかも
最近は速度早くしても変わらないとかいう人いますからね
微妙に効いたりすることも

796 :仕様書無しさん:2015/02/01(日) 12:55:59.70
ビット演算かっこいいって思ってるんだろうな。
ビット演算をすると紛らわしいから
やめろって言ってるのに、聞く耳持たない。
頭固すぎだよこいつ。

797 :仕様書無しさん:2015/02/01(日) 12:56:42.23
>>795
最近は、速度早くしても
0.0001秒しか早くならないって
いう人も多いよね。

798 :仕様書無しさん:2015/02/01(日) 12:57:28.90
>>793
言語仕様書読まない馬鹿は話に参加しなくて良いよ。

799 :仕様書無しさん:2015/02/01(日) 13:00:07.05
言語を何かひとつ決めないと収拾がつかないな。

800 :仕様書無しさん:2015/02/01(日) 13:00:54.14
>>797
サーバ上で動くものなら1万人が同時に使ったら1秒違ってくるな。

801 :仕様書無しさん:2015/02/01(日) 13:01:23.86
CPUが1Ghzを超えたあたりから世の中おかしくなったよな。

1Ghzというと、1 000 000 000 Hz
1クロックで1命令実行できると仮定すると
1秒間に10億もの命令を実行できる。

命令によっては1クロックで出来ないこともあるし
逆にスーパースカラーで並列実行するから
1クロック未満で終わることもある。

そうなるとビット演算やビットシフトにこだわっても、
1億回実行してやっと0.1秒の差しかつかない。

まじ、どうするよ? 小手先の最適化に
かかる時間のほうが多いよ。

802 :仕様書無しさん:2015/02/01(日) 13:02:11.07
>>800
少なくとも10億人が同時に使わないと、 1秒の差は生まれないだろww

803 :仕様書無しさん:2015/02/01(日) 13:03:15.39
>>802
算数できない馬鹿発見www

804 :仕様書無しさん:2015/02/01(日) 13:03:59.94
たしかにこの程度の最適化であっても
差が全く出ないわけじゃないが、
1億回とか10億回実行してやっと0.1秒とかだからね。
割にあわないのは事実なわけで。

805 :仕様書無しさん:2015/02/01(日) 13:04:36.21
>>799
何でそんな前提がいるんだよ
全ての言語で成り立つ書き方がいい書き方に決まってるだろ

高級言語で、たかが1と0を入れ替えるのに、言語仕様書ってwwww

Cなんかだと、同じ言語ですら処理系によって値違うんだぞ?
こんな実装してたら部屋からたたき出すわw

806 :仕様書無しさん:2015/02/01(日) 13:05:00.16
>>803
> 1Ghzというと、1 000 000 000 Hz
> 1クロックで1命令実行できると仮定すると
> 1秒間に10億もの命令を実行できる。

807 :仕様書無しさん:2015/02/01(日) 13:05:52.73
最近のCPUは3Ghzで4コアぐらいありますよね。

808 :仕様書無しさん:2015/02/01(日) 13:07:50.76
わかった。認める。ビット演算子にしたら速くなる。
ビット演算にしたら1GhzのCPUで1回あたり0.000000001秒速くなるよ。
認める。認めるよー!0.000000001秒速くなるよー!

809 :仕様書無しさん:2015/02/01(日) 13:09:01.88
センスじゃなくて、好みの問題でも話してるんですか

810 :仕様書無しさん:2015/02/01(日) 13:10:14.20
>>806
阿呆だwww

802 名前:仕様書無しさん [sage]: 2015/02/01(日) 13:02:11.07
 >>800
 少なくとも10億人が同時に使わないと、 1秒の差は生まれないだろww

800 名前:仕様書無しさん [sage]: 2015/02/01(日) 13:00:54.14
 >>797
 サーバ上で動くものなら1万人が同時に使ったら1秒違ってくるな。

797 名前:仕様書無しさん [sage]: 2015/02/01(日) 12:56:42.23
 >>795
 最近は、速度早くしても
 0.0001秒しか早くならないって
 いう人も多いよね。

811 :仕様書無しさん:2015/02/01(日) 13:11:03.59
>>810
なんでレスの順番入れ替えてるの?
バレバレなんだけどw

812 :仕様書無しさん:2015/02/01(日) 13:11:56.06
>>809
センスの話をするなら、ビット演算はビットごと
に意味がある場合に使うものだって結論が出た。

813 :仕様書無しさん:2015/02/01(日) 13:12:29.11
>>811
え?
なんか入れ替わってるか?

814 :仕様書無しさん:2015/02/01(日) 13:13:41.63
>>812
そんな結論出てないが・・・

排他的論理和で入れ替えができることを理解できない馬鹿もいる
って結論なら出たけど。

815 :仕様書無しさん:2015/02/01(日) 13:15:07.34
>>814
馬鹿はどうでもいいだろw

上級者がビット演算してる?何かビットごとに
意味があるのか?って混乱するのが問題

816 :仕様書無しさん:2015/02/01(日) 13:19:16.02
>>815
えーと、
 上級者とは排他的論理和で入れ替えができることを理解できない馬鹿である
が結論ってことか。

817 :仕様書無しさん:2015/02/01(日) 13:20:53.74
>>815
俺が書いたことを、もう1回書くね。

上級者がビット演算してる?何かビットごとに
意味があるのか?って混乱するのが問題

818 :仕様書無しさん:2015/02/01(日) 13:21:35.02
>>817
落ち着けw

819 :仕様書無しさん:2015/02/01(日) 13:21:35.94
>>817
上級者とは排他的論理和で入れ替えができることを理解できない馬鹿である

って事だよね?

820 :816:2015/02/01(日) 13:21:54.37
>>817>>816は完全に同じ事言ってるだがー!?

821 :仕様書無しさん:2015/02/01(日) 13:22:20.91
>>819
マジで同じ事言ってると思ってんの?www

822 :仕様書無しさん:2015/02/01(日) 13:22:54.25
「上級者がビット演算してる?何かビットごとに
意味があるのか?って混乱するのが問題 」



「上級者とは排他的論理和で入れ替えができることを理解できない馬鹿である 」

は同じ意味でしょwww

823 :仕様書無しさん:2015/02/01(日) 13:23:12.48
>>820
まてまて。816は俺が書いたんだが変な煽りいれんな。

824 :仕様書無しさん:2015/02/01(日) 13:23:47.83
排他的論理和で入れ替えができることを理解している上級者が言っていたよ。
ビット演算してると何かビットごとに 意味があるのか?って混乱するから
やめたまえ愚か者って

825 :仕様書無しさん:2015/02/01(日) 13:24:17.35
>>824
俺も聞いたことが有るね。
名のあるプログラマだった。

826 :仕様書無しさん:2015/02/01(日) 13:24:18.05
>>824
いや、それ理解できてないからw

827 :仕様書無しさん:2015/02/01(日) 13:24:53.93
ヤバい発狂してる

828 :仕様書無しさん:2015/02/01(日) 13:25:43.45
>>828
それはお前の思い込み。
一体誰の話をしてるんだ?
連れてこいよ。

だいたい、ビット演算って簡単だろ?
こんなのが理解できないって発想をするほうがおかしい

自分がビット演算を難しいと思ってるから
そういう発想が出るとしか思えない。

829 :仕様書無しさん:2015/02/01(日) 13:26:34.53
上級者じゃなくても普通に排他的論理和で入れ替えができることを
知っていると思うが、その上級者がビット演算してると
何かビットごとに 意味があるのか?って混乱するって言ってるんだよ。

830 :仕様書無しさん:2015/02/01(日) 13:26:42.74
>>828
おいwwwwww

831 :仕様書無しさん:2015/02/01(日) 13:26:44.84
>>828
とりあえずお前が落ち着け
誰に話してんだよ

832 :仕様書無しさん:2015/02/01(日) 13:28:06.48
>>829
お前も落ち着け
その文章だけで矛盾していることに気づけ

833 :仕様書無しさん:2015/02/01(日) 13:28:20.82
排他的論理和で入れ替えって懐かしいね。

小学校の頃。変数を節約(今思えば何のために?だがw)
する方法はないか?って考えて編み出したのが
排他的論理和で入れ替える方法だった。

まあ、ビット演算を知ったばかりの
子供が必要以上に使いたくなる気持ちもわかる。
俺もそういう子供だった。

834 :仕様書無しさん:2015/02/01(日) 13:30:10.17
>>833
しょ、小学生の分際でビット演算が理解できるわけ無いだろ!

835 :仕様書無しさん:2015/02/01(日) 13:30:23.42
>>833
変数を節約するためとか素人らしくて微笑ましいね。
素人らしい意見ありがとう。
でも、もう少し理解してから参加したほうが良いよ。

836 :仕様書無しさん:2015/02/01(日) 13:31:31.99
変数を節約する必要が無いなら、
a = {1, 0};
x = a[x];
でいいじゃん
入れ替えてるってのが誰でも分かる

837 :仕様書無しさん:2015/02/01(日) 13:33:40.93
なにそのパズル?

838 :仕様書無しさん:2015/02/01(日) 13:35:30.69
2状態でステートマシン作られるとさすがに引く

839 :仕様書無しさん:2015/02/01(日) 13:35:59.71
>>835
> 変数を節約するためとか素人らしくて微笑ましいね。
小学6年の頃だからね。しかも当時はBASIC

まあそういうこと。ビット演算を知ったばかりの人は
ビット演算を使いたくなるが、
そんな時代はとっくに終わってしまった俺は、
ビット演算はビットごとに意味があるときに使えって教えてる。

840 :仕様書無しさん:2015/02/01(日) 13:38:07.95
>>839
でも、もう少し理解してから参加したほうが良いよ。

841 :仕様書無しさん:2015/02/01(日) 13:38:25.73
もう一つ昔の話をすると、昔は掛け算、割り算が
遅かったから、ビットシフトで計算していた。
2のn乗倍だけでなく、×10とかもビットシフトと
足し算でできるんだよ。知ってた?
アセンブラを使っていた頃はそういうテクニックも使っていた。

もちろん今はビット演算は、ビットごとに意味が有る時に使うもので
普通は×10って書きなさいって教えるけどね。

842 :仕様書無しさん:2015/02/01(日) 13:39:00.69
>>841
でも、もう少し理解してから参加したほうが良いよ。

843 :仕様書無しさん:2015/02/01(日) 13:39:18.76
>>840
お前よりも俺の方が理解してるって、他の人はわかってると思うよw

844 :仕様書無しさん:2015/02/01(日) 13:40:57.48
詰め込み教育の弊害?ですかね
続くのは
教えられたことがすべてじゃないことも

845 :仕様書無しさん:2015/02/01(日) 13:42:03.57
>>844
お前何意味不明なこと言ってんの?

846 :仕様書無しさん:2015/02/01(日) 13:42:49.00
ゆとり最高、おれ最強っていいたいんだろw
ビット演算を知ったぐらいでw

847 :仕様書無しさん:2015/02/01(日) 13:44:15.47
頭ごなしにきめつけるところも似た人たちが集団になると怖いですネ

848 :KAC:2015/02/01(日) 13:51:08.14
>>829
「排他的論理和で入れ替えができることを知っている」
 → ビットごとの意味を求めているわけではないことを知っている

「何かビットごとに 意味があるのか?って混乱する」
 →入れ替えの演算をしていることに頭が回っていない

この二行だけで矛盾してるよねって話だろう。

なぜビット演算子見ただけでビットごとの意味にこだわるのか不思議なんだけど。
アセンブラで xor ax,ax とか書くのに抵抗ある人?

849 :仕様書無しさん:2015/02/01(日) 14:03:04.57
そういう直感的でない操作をしないで済ませるために高級言語があるんだろうが

850 :仕様書無しさん:2015/02/01(日) 14:08:52.96
そいういうことをいってるんじゃないでしょ

851 :KAC:2015/02/01(日) 14:15:07.02
>>849
高級言語でも、使いこなすためには色々知ってなきゃ駄目よって話。

a = 0; って書くと、 a ^ a; と同等に展開してくれることを知っているから、
速度が必要な場面でも a = 0;と記載するんだよな。

if( x == 4 ) x = 5; else x=4 ;は、最適化かかっても
x = ( 4 + 5 ) - x ;や
x ^= 4 ^ 5 ;と同じ展開にはならない。

それぞれがどういう展開になるか理解して使うことも大事だよ。
時と場合によってそれらを使い分けるのがセンスってもんだろう。

852 :仕様書無しさん:2015/02/01(日) 14:26:43.26
正しく動くかどうかを気にすることはあるが
マシン語への展開方法なんぞ気にしたことないわwww
コンパイラでも開発してんのかよw

老害はZ80の時代に帰れ

853 :KAC:2015/02/01(日) 14:31:46.47
>>852
展開を気にしてないのはもったいないな。
色々な表現ができる言語を使った時に、
どんな表現で実装するのか重要な判断材料になる。

サーバーのように膨大な処理を行う場合や、
携帯機器のように省電力が求められる場合もある。

必ず展開が有利な方を使えって訳ではないけど、
知ってるのと知らないのでは影響が大きいぞ?

854 :仕様書無しさん:2015/02/01(日) 14:34:46.98
x = 1 - x; と書いたところでコンパイラが
xorで充分だろプギャーというウォーニングを
出したいところをこらえながら x ^= 1; への
最適化をしていたりしてw

855 :KAC:2015/02/01(日) 14:38:11.64
>>854
まじレスしておくと
例えばxが2の時の結果は全く違うから、完全に別処理。
最適化で同等に扱われることはない。

なので、記載方法によって速度に影響がでるって話につながってる。

856 :仕様書無しさん:2015/02/01(日) 15:11:46.19
センスがない話題だとやはり盛り上がらんな

857 :仕様書無しさん:2015/02/01(日) 15:53:19.59
やっと>>525に追いついたかw

858 :KAC:2015/02/01(日) 16:03:15.72
>>857
お前さんはまだ>>287には追いつけてないんだな。
この一連の話は、287のコードを理解できない奴がいて、
それに対して説明してるだけ。ってのは理解しよう。
はじめっからその程度の内容だよ。

859 :仕様書無しさん:2015/02/01(日) 16:39:43.71
KAC氏とダブルバッファおさーんのdisりあいが面白い。

KAC氏が理詰めで攻めると、ダブルバッファオサーンは、
「値を入れ替えるのにXOR使うなんて、
ビット演算覚えたてでビット演算使いたがってる子供。
俺はそんなの小学校で卒業した」
という超絶、個人的な話で応酬

ダブルバッファおさーんにプログラミング教わった人は、
ビットフラグ以外の値に、ビット演算子を使ってるコードを見ると
やっぱり発狂するんだろうか?

するだろうなw

こうやって、意固地なプログラマーのこだわりは伝承されていき、
開発チームがモメる一因となるのである。

860 :仕様書無しさん:2015/02/01(日) 16:46:34.07
>>858
このスレにはx ^= 1が理解できない奴なんていないぞw
いるのは、x ^= 1のマヌケっぷりが理解できないオマエだけw

861 :KAC:2015/02/01(日) 16:55:35.75
>>860
「x ^= 1のマヌケっぷり」と言ってる時点で、
表面的な知識で判断しているって事を指摘されているんだが・・・

もう少し多面的な知識を身につけて、
総合的に判断して話できるようになれよ?

862 :仕様書無しさん:2015/02/01(日) 16:57:37.66
ダブルバッファおさーんにプログラミング習うと、ダブルバッファリングの
コードしか書けなくなりそうw

863 :仕様書無しさん:2015/02/01(日) 17:19:16.75
>>862
トリプルバッファにしたくなったときに絶対困るよなw

864 :仕様書無しさん:2015/02/01(日) 18:41:04.03
KACのマヌケっぷりはマ板の名物だな
いつ見ても笑えるw

865 :仕様書無しさん:2015/02/01(日) 18:44:16.85
xorでswap処理を書くのは初心者でもできる
KACは初心者向けハンマーを持つと何でも叩きたくなる
わかりやすっ

866 :仕様書無しさん:2015/02/01(日) 18:54:55.63
ここはじっとKAC氏の理詰めの攻めに期待

867 :仕様書無しさん:2015/02/01(日) 19:00:04.02
ビット演算は、ビットフラグでしか使ってはいけない。
なぜならば、それは俺がすでに小学校でやってしまったから。

ってどんだけ俺様理論なんだよw

でもまあコードのこだわりなんて、えてしてこういう根拠のないもの
だったりするんだよね。

868 :仕様書無しさん:2015/02/01(日) 19:20:10.30
>>867
むしろ、そういうワケワカなことで意固地なまでに我流を押し通すほうが、
一般人には、「この人、すごいセンスがあるのかも」と思われてしまう不思議

869 :仕様書無しさん:2015/02/01(日) 19:45:59.93
JAVAで以下のようなコードがあったとする。
----------

char[] a = new char[128];

int x = 0; //配列の添え字


// aの添え字にxを使う何らかの処理

for (なんたらかんたら) {
  a[x] = ほげほげ・・・
}

…ほげほげ…

//で、ここまでx は0か1になっているものとする。

x ^= 1; //xが0のとき1、1のとき0にする。



-----------------

870 :仕様書無しさん:2015/02/01(日) 19:49:56.20
>>869の中で、

x ^= 1; //xが0のとき1、1のとき0にする。

と書いてみたが、これを見て
「xが各ビットがフラグになっていて、この式の 1 が
 いわゆるビットマスクかもしれん」
とは、全然、誤解しないと思うけどな。

そもそも 1が何らかのビットマスクなら、どこかで

public class Constants {
  static final int IS_DOUBLE_DUFFER_OSAHN = 0x01;
}

みたいなものを定義して、

x ^= Constants.IS_DOUBLE_DUFFER_OSAHN;

とかって書くからな。

しかし、この例だと
x ^= 1;

x=1-x;
も両方だめだと思うんだけどね。なんとなくだけどね。

でももうこの件で議論を続ける気はない。

871 :仕様書無しさん:2015/02/01(日) 19:56:51.37
IT用語辞典【ダブルバッファオサーニズム】double buffer osahnism

意味:

コードレビュー時などで、自分が気に入らないコードに対する非難の手法として、
そのコードは自分がプログラミング習いたての頃はよく書いて卒業したもので、
そんなコードを書くのは初心者のすることと決めつけて、激しく非難すること。

872 :仕様書無しさん:2015/02/01(日) 20:02:35.21
このスレのせいでビット演算が厨二くさくなってしまった

873 :仕様書無しさん:2015/02/01(日) 20:08:49.86
>>871
収束させようというタイミングでそういうことを書くヤツは
空気を読めないセンスのないヤツ。そして害悪。

874 :仕様書無しさん:2015/02/01(日) 20:09:18.23
>>872
そんなことはないと思うが。

DBオサーンは
x^=1;
が、知識をひけらかすために書かれたコードだと思ってしまうようだが、
それは、ご本人になんらか、情報科学に対するコンプレックスがある
からなのではないだろうか。
というのも、大学行ってなかったり、大学はまったく畑違いの学部を
出ているが、社会人になって現場のたたき上げの腕一本で、メシ食って
きた自負のあるプログラマーが、生粋の情報工学科卒のプログラマーを
やたらライバル視したり、何かと
「あいつのコードは学者サマのコード」
みたいな揶揄の仕方をするのは、いろんな現場でよく見かけるからな。

今回のDBオサーンの反抗も、その種の話のひとつという
見方を個人的にはしている。

875 :仕様書無しさん:2015/02/01(日) 20:13:03.52
あれ?DBオサーン大勝利じゃなかったの?

876 :仕様書無しさん:2015/02/01(日) 20:18:10.30
>>466

> for(::) {
> value = a[x]->DoSomething();
> a[1-x]->DoHogeHoge(value)
> x = 1 - x;
> }

なんか一見して、ループの中で、x がアレコレいろんな値に
なる可能性もあるわけで、
そのときに、1-x またはx が負数になりそうで怖い。

877 :仕様書無しさん:2015/02/01(日) 20:18:58.62
ところかまわずxorに拘る人って
系統的なプログラミング教育を受けてないんだろうな。

俺も8ビットワンボード用のコードをアセンブリで書いていた頃は
xorでレジスタを使いまわしたりして節約してたけど
今じゃそんなことが必要な場面なんて組み込みでもまずない。

今でもx^=1なんて書いてるのは泥縄独学で得たものを捨てられず
知識を更新できていないロートル40台だろう。
かわいそうに。

878 :仕様書無しさん:2015/02/01(日) 20:21:06.46
>>875
いや全然勝ってないでしょ。

ていうか、この議論は
x=1-x;

x^=1;
のどっちがいい?どっちが勝ち?という話ではないよ。

879 :仕様書無しさん:2015/02/01(日) 20:22:33.74
必死になって自演している馬鹿の正体w

KACがテキストエディタの設計書を書くスレ
http://kanae.2ch.net/test/read.cgi/prog/1394963270/

880 :仕様書無しさん:2015/02/01(日) 20:24:40.57
>>878
ここまでのクソレスの山を根底から覆すクソレスだなw

881 :仕様書無しさん:2015/02/01(日) 20:26:34.20
>今でもx^=1なんて書いてるのは泥縄独学で得たものを捨てられず
>知識を更新できていないロートル40台だろう。
>かわいそうに。

ほらね。結局最後は
>かわいそうに。
とでも言い捨てるしかないのですよ。彼がプライドを保つためにはね。

882 :仕様書無しさん:2015/02/01(日) 20:31:20.87
>>877
>今でもx^=1なんて書いてるのは泥縄独学で得たものを捨てられず
>知識を更新できていないロートル40台だろう。

この推測が、俺自身について当てはまっていれば
少しは、こいつの言うことも信じられるが、

>泥縄独学
とか
>知識を更新できていないロートル40台
っていうプロフのが全く当たってないから、

アホだなあw

ってなるんだよ。

883 :仕様書無しさん:2015/02/01(日) 20:37:13.63
ダブルバッファの人って、多少は人並みよりプログラミングは出来るんだろうな
っていう気はするんだけど、数人のチームで、ひとつのサービスなりプロダクトなり
を作るプログラマー集団では、ご本人も周囲も不幸にしてしまうタイプだな。

一人でプログラミングスクールみたいなものをやるのがご本人のためでもあり、
周囲に迷惑をかけないためでもあると思う。

884 :仕様書無しさん:2015/02/01(日) 20:44:13.92
>>883
みたいに、理由も何も言わないで
ただ人を馬鹿にしてるのってなんなんだろう?
言い返したいけど、言葉が見つからないのか?

885 :仕様書無しさん:2015/02/01(日) 20:46:24.76
>>878
うむ。どっちが価値かというより
どちらが読み手にとって正しく
意図が伝わるかって話だな。

ビットごとに意味があるなら、ビット演算を
使ったほうが、意図が明確に伝わるだろう。

886 :仕様書無しさん:2015/02/01(日) 20:47:56.40
>>867
> ビット演算は、ビットフラグでしか使ってはいけない。
> なぜならば、それは俺がすでに小学校でやってしまったから。
>
> ってどんだけ俺様理論なんだよw

意味不明すぎでワロタw
小学校が何の関係があるんだ?

たとえ小学校でやっていたとしても、
ビットごとに意味があるなら、ビット演算を
使った方がいいに決まってるだろ。

887 :仕様書無しさん:2015/02/01(日) 20:51:32.73
>>883
君は自分に反論してくる人はみんな同一人物だと思っているみたいだけど、
それって病気だから。お大事に。

888 :仕様書無しさん:2015/02/01(日) 20:54:03.22
>>887
名前書かない奴はそういう扱いされても文句言わないのが基本

889 :仕様書無しさん:2015/02/01(日) 20:55:20.92
>>888
なるほど。ビット演算にこだわってるのは
お前だけ、全部同一人物なわけね。

890 :仕様書無しさん:2015/02/01(日) 21:06:14.23
結論が出たようですね。

0と1を入れかえるときにセンスがいいコードは
x=1-x

これで終了。

891 :仕様書無しさん:2015/02/01(日) 21:06:14.63
>>889
ほぼ、そうだと思うよ。なんせ

>624 名前:仕様書無しさん[sage] 投稿日:2015/01/31(土) 21:12:56.55
>>621
>>ビット演算で可読性が落ちるとかいわれたら泣くぜ

>いや、まったくだ。ようやく同じこと思っている人がいて安心したよ。

ご本人も「ようやく」同意見が出たことに競演乱舞の書き込みしてるしw

892 :仕様書無しさん:2015/02/01(日) 21:13:14.06
>>890
お前があほなのはよく分かったからwww

893 :仕様書無しさん:2015/02/01(日) 21:15:34.44 ID:w7PSHzZo
>>879
そのスレでも正しい事しか言ってないよね。
何が問題だと思ってる?

894 :仕様書無しさん:2015/02/01(日) 21:42:14.25
「x=1-x; vs x^=1」議論についてはとっくに

  人は個人的な経験から思考のクセがついており、それをもとに他人の成果を評価しがちだ。

という有用な結論が出ていて、ダブルバッファの人はそのための貴重なサンプル役を
やってくれたわけで、もはやどうでもよいが

>>884
>ただ人を馬鹿にしてるのってなんなんだろう?

に対して一言いっておくと、君だって、
>>839
>ビット演算を知ったばかりの人は
>ビット演算を使いたくなるが、

などと言って、議論の相手を侮辱しているのだから、
君が誰かから中傷されるのも仕方ないのだよ。

895 :894:2015/02/01(日) 21:42:48.95
つまり
「天に唾すれば我が身に返る」
ということなのだが、
君はどうやら、最近巷によくいる

 自分は他人を侮辱しても許されるが、他人が自分を侮辱するのは許さない。

というタイプの人間のようだね。

そういう人間は何を言っても、信用してもらえないのだよ。

現に、君が
x=x-1;を推してx^=1;のダメ出しをする論は、個人的な思い込みに帰結する
ことが分かって終わったのは、正直、
「ほらみたことか」
って感じなのだ。

896 :895訂正:2015/02/01(日) 21:45:09.48
○:x=x-1;を推してx^=1;のダメ出しをする論は、

×:x=1-x;にこだわってx^=1;のダメ出しをする論は、

897 :仕様書無しさん:2015/02/01(日) 21:47:10.47


自分が他人に侮辱されたら、相手を中傷しても構わない。

というタイプの人間が申しておるようです。

898 :仕様書無しさん:2015/02/01(日) 21:50:14.78
それと、一連の流れは、
>>287
の人が

>俺なら、
>> // xが0なら1、1なら0にするんだよ〜ん
>は、
>
>x ^= 1;
>
>と書くだろうな。

と書いて始まった揉め事だと思うが、
>>287の人は軽い気持ちで

>>285
>x=1-x;


x ^= 1;
にリファクタする提案をしたつもりなのだろうが、こういうのは
元々のコードを書いた人間(=>>285)を、かなり刺激して感情的に
させるということは覚えておいたほうがいい。

899 :仕様書無しさん:2015/02/01(日) 21:50:54.72
>>896
○から×に訂正するのか。変わってるね。

900 :仕様書無しさん:2015/02/01(日) 21:54:16.05
>>898
いや、285というか噛みついてる馬鹿は相手しなくていいよ
有効なリファクタリングなんだから馬鹿に屈しない態度は必要

901 :898:2015/02/01(日) 21:57:50.96
僕も、会社では、小数ながらも開発チームを率いていて、
ソースコードレビューをいかに実りある議論にするかで、頭を悩ませている
一介の凡人プログラマーだ。

ソースコードを批評して、よりよいコードにしていく作業は
ともすると、レビューされる人間が、周りの人間に批判されているように
受けとられ、チームワークが根底から壊れてしまうことがあり、
集めるメンバーにもすごく気を使う。よく失敗もした。

あるときは、レビューされるプログラマーが女性で、けっこうツッコミを
受けて泣いてしまって、俺はうまくフォローできず次の日からその女性は
職場にこなくなり、俺は社長に呼び出されて、
「お前のせいだ」
と詰められて殴られたからな。

まあ苦い思い出だ。

そんな私の知り合いに、小野という出来る男がいて、そいつのこのエントリ

http://blog.livedoor.jp/lalha/archives/50496623.html

とそこで紹介されているgoogleの本はとてもよい本だった。

902 :898訂正:2015/02/01(日) 22:03:39.19
×:x=x-1;を推してx^=1;のダメ出しをする論は、

○:x=1-x;にこだわってx^=1;のダメ出しをする論は、

903 :仕様書無しさん:2015/02/01(日) 22:05:41.72
>>901
なんかキャバクラのボーイ日記みたいw

904 :285:2015/02/01(日) 22:07:06.95
>>898
う〜む、蒸し返す気はなかったんだが、あえて...

287 返信:283[sage] 投稿日:2015/01/25(日) 22:14:35.50
>>285
俺なら、
> // xが0なら1、1なら0にするんだよ〜ん
は、
x ^= 1;
と書くだろうな。

290 自分:285[sage] 投稿日:2015/01/25(日) 22:37:08.88
>>287
うん、それで良いと思うよ

というわけで、x=1-x;を書いたのは俺だが、x ^= 1;を否定したことなど全くない。

905 :仕様書無しさん:2015/02/01(日) 22:10:55.86
ダブルバッファの人は何をそんなに熱くなっていたんだろうか?

906 :仕様書無しさん:2015/02/01(日) 22:15:25.73
コードレビューでダメ出しされて心折れて会社来ないような
メンタリティの人間は、正直プログラマーに向いてない。

907 :仕様書無しさん:2015/02/01(日) 22:21:01.34
チームレビューとかあんまりしないが
レビューで出くわしたとしても、
ここで出てる例程度のことはほぼ全てスルーだな

駄目なのはx=x==0ぐらいで、あとは好みの範疇


x=1-xが正義なのは動かせないけどな!

908 :仕様書無しさん:2015/02/01(日) 22:21:42.83
プログラマーになるような人間には、どんなに論破されても気にもとめない鈍感さと
食らい付いたら決してはなさない往生際の悪さが必要だね。

909 :仕様書無しさん:2015/02/01(日) 22:23:20.44
>>905
ダブルバッファの人の一番訴えたかったことって、よく
やっすい居酒屋でオサーンが、クダまいて言ってる、
「こんな俺だが、小学生の頃は神童と呼ばれていたんだぞ。」
みたいなことだろうと思う。
「こんな俺だが、小学生の頃は神童と呼ばれていたんだぞ。」
というフンマンやるかたない思いの象徴が
x=1-x;
というコードなんだよ、たぶんね。

910 :仕様書無しさん:2015/02/01(日) 22:28:20.03
ダブルバッファの人が
x^=1;と書くと、xがビットフラグを集めたものに見えてしまう。だからダメだ
と言った時点で、話は終わったなと思った。

まあでも、自分が混乱するコードは避けるというのは当たり前だからな。
それにコードレビューといったところで、
結局、こういう個人の主観を言い合う場だったりするんだよ。

自分の主観を全世界に普遍なものに拡張したい傲慢な生き物だったり
するからなプログラマーは。

911 :仕様書無しさん:2015/02/01(日) 22:32:03.76
>>909

>(途中のグダグダは省略)
>たぶんね。

この一言で、お前は他人様の全てを思い込みで想定し、真実だと思い込み、異論は認めない!
同様に、思い込みで仕様を想定しプログラムを作り、俺様が仕様、異論は認めない!
という、実に厄介極まりない輩(やから)だということが分かった。

912 :仕様書無しさん:2015/02/01(日) 22:33:12.22
プログラマの三大美徳は、「怠惰」「短気」「傲慢」である、と
Perlを開発したラリー・ウォール(Larry Wall)も言っているぐらいで、

「俺の経験則が絶対だ。俺に従えないなら、俺の目の前から今すぐ去れ」

というタイプの人間自体は、この仕事やっているとよく出会う。

そういう人間が本当に腕が立つならうまく利用できればいいが、
問題も起こすので、切りたいときにすぐ切れるポジションにしておくのが
無難だな。

913 :仕様書無しさん:2015/02/01(日) 22:37:31.84
>>911
>実に厄介極まりない輩(やから)だということが分かった。

そういう認識をしてしまうのは、お前がそういう人間だから
お前を批判する人のことが、そう見えてしまうんだよ。

「鏡の法則」でぐぐれ。それでいろんな自己ケーハツ系のテキストを読め。

914 :仕様書無しさん:2015/02/01(日) 22:39:26.72
なるほど傲慢やこの人

915 :仕様書無しさん:2015/02/01(日) 22:44:47.73
でもさ、ダブルバッファの人、

 排他的論理和なんか小学校のころからBASICで書いてた(ドヤ)
 俺が小学校で書いてたコードを書くヤツは入門者レベル(ドヤ)

ってけっこう何度も書いてるよね、実際。

はっきり言って滑稽きわまりないんですがw

916 :仕様書無しさん:2015/02/01(日) 22:52:15.94
ぶっちゃけ聞くけど、ダブルバッファの人って、学歴コンプレックスあるでしょ?

917 :仕様書無しさん:2015/02/01(日) 22:52:36.31
>>913

>そういう認識をしてしまうのは、お前がそういう人間だから
>お前を批判する人のことが、そう見えてしまうんだよ。

911書く前に批判した記憶ないんだけど、いつ批判したっけ?
911で書いたとおり「思い込み」だけで判断していることを自ら証明したわけだw
全くもって「厄介極まりない輩(やから)」ですなw

918 :仕様書無しさん:2015/02/01(日) 22:53:48.45
そもそもIDすら付いてないのに
誰が誰とか特定して喋ってる時点でもう…

919 :仕様書無しさん:2015/02/01(日) 22:54:59.30
あいつ、一体何と戦ってるんだ?

920 :仕様書無しさん:2015/02/01(日) 22:56:56.53
ダブルバッファおさーんが自意識のドロ沼にはまって動けない様が
実に味わい深い。

921 :仕様書無しさん:2015/02/01(日) 22:58:59.93
つらいのう 苦しいのう

922 :仕様書無しさん:2015/02/01(日) 23:00:12.06
どんだけ陰湿なんだ

923 :仕様書無しさん:2015/02/01(日) 23:00:24.06
なんかスピリチュアル系になってきたな

924 :仕様書無しさん:2015/02/01(日) 23:03:01.76
ダブルバッファおさーんの浮かばれない人生に焦点が移ってきたのです。
なぜならば、そこにこそ
x=1-x;
をガン押しする動機がありそうだからです。

925 :仕様書無しさん:2015/02/01(日) 23:03:28.70
>>915
いや、ダブルバッファの人は一回しか書いてないと思うぞ
その引用が何回も出てきてるが

926 :仕様書無しさん:2015/02/01(日) 23:04:56.39
どうでもいいや。
x=1-x;
でも
x^=1;
でも、使いたい方を使えばいいでしょ。おしまい。

927 :仕様書無しさん:2015/02/01(日) 23:13:26.73
んじゃ、エンディング

監督:仕様書無しさん
台本:仕様書なしさん
主演:仕様書なしさん
脇役:仕様書なしさん
提供:仕様書なしさん

もう書けないので、新しい話題を立ててくださいです。。。

928 :KAC:2015/02/01(日) 23:17:13.47 ID:t3e+v9d9
ようやく落ち着いたようで。

というか、なんでみんな名前くらい書かないんだ。
名前考えるのが面倒なら自分の発言した番号書けばいい。
誰が誰だかわからなくなるのは目に見えてるんだから。

それも嫌だって言うなら、せめてIDくらい出さないか?

929 :仕様書無しさん:2015/02/01(日) 23:33:27.16
匿名板だからねぇ。

匿名板だからこそ、書き込みしやすいのが利点。
で、レスに対する反論は大いに結構なんだけど
個を勝手に決めつけ、批判し、中傷攻撃をするような発言は論外だと思う。

そういう輩(やから)には、発言を控えてもらいたい、とも思う。

あ、俺、285です。この度はお騒がせして済みませんでした m(_'_)m
まさかこんなに引っ張るとは思わなかったので、おれ自身も安易な書き込みは反省します...

930 :仕様書無しさん:2015/02/01(日) 23:36:34.08
ソンナワザガアッタノカ…

931 :仕様書無しさん:2015/02/01(日) 23:51:08.48
動けばいいんだよ

932 :仕様書無しさん:2015/02/01(日) 23:56:33.76
2ちゃんで、ソースコードの良し悪しを理性的に話すってこと自体ムリ

933 :仕様書無しさん:2015/02/02(月) 00:40:03.95
>>929
テロに屈してはいけない

934 :仕様書無しさん:2015/02/02(月) 03:03:04.71
レビューとかいう人って
うさばらしやってるだけ
リアルでもやってそうだし

935 :仕様書無しさん:2015/02/02(月) 03:06:42.22
そのとおり。うさばらしでやるのの何がいけないの?

936 :仕様書無しさん:2015/02/02(月) 03:29:38.81
そうでっか、そうでっか

937 :仕様書無しさん:2015/02/02(月) 06:35:30.78
>>934
妄想の話はもういいから。

938 :仕様書無しさん:2015/02/02(月) 07:24:46.73
このスレみてめっちゃ勉強して色んなのができるようになりたいと思ったよ。できるだけ頑固おじさんにはなりたくないと思っているww
ところでこのスレって1000まで行ったら終わりなの?

939 :仕様書無しさん:2015/02/02(月) 07:26:08.34
必要なら次スレ立てればいい

940 :仕様書無しさん:2015/02/02(月) 10:49:51.30
センスのない人 オレ
センスのある人 オレ以外

941 :仕様書無しさん:2015/02/02(月) 10:51:37.88
>>940
具体的な理由くらい書こうぜ。センス無いなぁ・・・

942 :仕様書無しさん:2015/02/02(月) 12:44:07.03
センスのある人 >>941
センスのない人 >>941以外

943 :仕様書無しさん:2015/02/02(月) 12:52:56.76
>>942
お前、センス無いなぁw

944 :仕様書無しさん:2015/02/02(月) 14:32:41.92
夏場に扇子が売れてるとかTVやってたな

945 :仕様書無しさん:2015/02/02(月) 18:30:00.09
扇子で扇子りこいた

946 :仕様書無しさん:2015/02/02(月) 18:54:17.46
>>945
【審議結果】
 __ ___ .__ ___ .__ ___ ..__ ___ __ ___ __ ___
 \__☆/ \__☆/ \__☆/ .\__☆/ \__☆/  \__☆/  
  |___|   |___|   |___|   .|___|   |___|   |___|  死刑!
  ( ・ω・) . ( ・ω・) . ( ・ω・) . ( ・ω・) . ( ・ω・)   ( ・ω・)  
   (σ y \σ (σ y \σ (σ y \σ .(σ y \σ (σ y \σ (σ y \σ
    ¶ヽ~( )  .  ¶ヽ~( )  .  ¶ヽ~( )  .  ¶ヽ~( )  .  ¶ヽ~( )  .  ¶ヽ~( )  
     しU      しU      しU      しU      しU      しU  

947 :仕様書無しさん:2015/02/02(月) 19:52:21.21
「ダブルバッファおさーん」「ダブルバッファの人」という呼称を用いることで
x ^= 1;に反対しているのは1人だけだという印象を与えようと必死みたいだけど、
君以外はみんな「自分以外にもx ^= 1;の欠点を指摘している人がいる」ことを知っているから。
はっきり言って、君、人としてとても恥ずかしいことをしていることを自覚したほうがいいよ。

948 :仕様書無しさん:2015/02/02(月) 19:58:35.78
あんな馬鹿はにそうそういないだろ
仲間増やそうとすんなw

949 :仕様書無しさん:2015/02/02(月) 20:21:33.81
印象操作してるって言うとなんか賢そうに聞こえるんだよな腹立つわ

950 :仕様書無しさん:2015/02/02(月) 20:58:05.05
>>947
悔しいのう悔しいのう

951 :仕様書無しさん:2015/02/02(月) 21:10:50.60
>>941
あんさんの悔しい気持ち、よーわかるでー
けどな、しゃーないやん

結局、 x^=1; のほうが筋がええってことになったんやから。

人生、諦めが肝心やで?

952 :仕様書無しさん:2015/02/02(月) 21:22:47.53
>>947
オマエの論も肝心なところでかなり雑だった。そこを突かれたんだよ。

953 :仕様書無しさん:2015/02/02(月) 21:27:15.29
>>951
煽りのセンスもないのか…

954 :仕様書無しさん:2015/02/02(月) 21:34:40.35
この対決はx=1-xが圧勝すぎてつまらなかったから、次はもっといい勝負になるお題頼む。

955 :仕様書無しさん:2015/02/02(月) 21:46:04.49
bool反転ならx=!x以外なかろう、アホだらけ

956 :仕様書無しさん:2015/02/02(月) 21:49:40.70
相手すんな、アホがうつる

957 :仕様書無しさん:2015/02/02(月) 22:21:07.53
x=1-xとか書いたら引き算したいのかなって思う
引き算が補数になることを暗黙の了解として使ってる時点で嫌な気持ちになる

見た瞬間にビットだなと読み手に気づかせるために
x ^= 0xFFFF
のように書いてくれる人が好き

ちなみに
x^=1はバグだろ。0ビット目しか反転しない

958 :仕様書無しさん:2015/02/02(月) 22:27:09.87
x=1-xとか言ってるのは真性の阿呆だから放置しろ。

959 :仕様書無しさん:2015/02/02(月) 22:29:14.27
>>957
釣りすんな。
ダブルバッファの人が食いつくの目に見えてるけどな。

960 :仕様書無しさん:2015/02/02(月) 22:32:28.43
>>958-959
喰いついた馬鹿www

961 :仕様書無しさん:2015/02/02(月) 22:45:58.49
確認したら1-xも間違いですね
1-0xAAやったら0xACになったし

windows7の電卓をプログラマモードにして計算すると
2進数が常に表示されるから直ぐ解るよ

962 :仕様書無しさん:2015/02/02(月) 22:49:52.02
間違った 1-0xAAは0x57

963 :仕様書無しさん:2015/02/02(月) 23:05:28.21
>>961
1-xとx^=1、どちらが正しいか?
ではなくて、焦点はどちらが意図が伝わりやすいか?だよ。
0と1以外の値を入れた時の事は考えてない。
両方同じことになるんだから。

そうではなくて、ビットごとに意味がある時にビット演算を使用するべき。
そのほうが意図が伝わりやすいって話をしてる。

964 :仕様書無しさん:2015/02/02(月) 23:07:08.50
>>963
どっちが速いかの方が重要

965 :仕様書無しさん:2015/02/02(月) 23:08:46.26
>>963
前スレ読み直してこい

966 :仕様書無しさん:2015/02/02(月) 23:10:37.70
>>963
1と0なら!x最強だろ。

967 :仕様書無しさん:2015/02/02(月) 23:11:15.51
segmentation fault

968 :仕様書無しさん:2015/02/02(月) 23:29:17.53
>>964
>>965

969 :仕様書無しさん:2015/02/03(火) 00:08:48.65
2と3、4と5の入れ替えとかはまだ用途がありそうだけど、2と-1とかどうしようもないよな

970 :仕様書無しさん:2015/02/03(火) 00:23:19.43
>>964
そもそもバグってると上に書いたのに…

971 :仕様書無しさん:2015/02/03(火) 00:37:40.92
>>964
> どっちが速いかの方が重要

どっちが速いか?を語る時に
どれくらい速いか?を語らなければ
意味が無い。

それで、どれくらい速いと思う?

972 :仕様書無しさん:2015/02/03(火) 00:39:34.71
>>971
見ての通りだろ。

973 :仕様書無しさん:2015/02/03(火) 00:40:30.04
>>972
見ての通り、1-xの方が速いね
1-xに変えたら1時間かかる処理が
1分になってしまったよ。

974 :仕様書無しさん:2015/02/03(火) 00:40:31.10
まあ1文字少ないから、見る分には2割ぐらい速いな

975 :仕様書無しさん:2015/02/03(火) 00:42:28.84
マジレスすると、人は一文字づつ
読んでるわけじゃないから変わらない

それに小説じゃないんだ。
コードを見てから何をしたいのか?が
すぐに分かる方がいい。

だからビット演算はビットごとに意味がある場合に
使うべきという結論になった。

速さの点でみても、ビットごとに意味がある場合にだけ
ビット演算を使ったほうが良い。

976 :仕様書無しさん:2015/02/03(火) 00:43:15.43
>>973
それはよかったね

977 :仕様書無しさん:2015/02/03(火) 00:43:44.57
>>975
前スレ嫁

978 :仕様書無しさん:2015/02/03(火) 00:52:02.77
一文字づつ読んでるわけじゃない、ってのは正しいな
何をしてるか解釈した結果は
「xの」「1bit目を」「反転する」
「xに」「1から」「xを」「引いたものを」「入れる」
になる訳だから2文節分は変わるわけだ

979 :仕様書無しさん:2015/02/03(火) 01:01:24.78
>>978
お前読むのに時間かかりそうだなw
っていうか、説明下手だな。

俺なら「xの1ビット目を反転する」
「1からxを引く」って読むよ。

図らずとも後者のほうが短くなってしまったけど
前者は「1ビット目」っていう余計な情報が
追加されてるのが重要なところかな。

これがビットごとに意味があるの?って
ミスリードする原因になる。

980 :仕様書無しさん:2015/02/03(火) 01:08:43.55
>「xの」「1bit目を」「反転する」
反転してどうするの?xには何も入れないの?w

981 :仕様書無しさん:2015/02/03(火) 01:08:56.37
>>979
排他的論理和って理解できない?

982 :仕様書無しさん:2015/02/03(火) 01:12:35.13
>>979
それは>>980に言ってやれよ
1に数を入れるんですか?って

983 :982:2015/02/03(火) 01:13:30.93
>>979 <=> >>980 だったわw

984 :仕様書無しさん:2015/02/03(火) 01:16:35.87
>>980
> 反転してどうするの?xには何も入れないの?w

xに代入する所はどちらも同じなので
書く意味が無いでしょw

985 :仕様書無しさん:2015/02/03(火) 01:22:58.47
>>984
ちがうね。
>「xの」「1bit目を」「反転する」
>「xに」「1から」「xを」「引いたものを」「入れる」
後者は演算した結果を「入れる」ってわざわざ書いておいて
前者は反転させてるだけで、「入れる」の手順を省いている。

これで
>2文節分は変わるわけだ
という結論はおかしいんじゃない?

っていうことなんだけど、ここまで説明してあげないと分からないのかw

986 :仕様書無しさん:2015/02/03(火) 01:26:01.42
>>985
マジレスすると人間は文節単位で読んでない。
コンピュータじゃないんだからさw


あなた、このレス、わざわざ文節意識して
区切って読みましたか?

987 :仕様書無しさん:2015/02/03(火) 01:31:07.03
>>986
文節で区切ったレスをはじめたのは>>978
俺はその区切り方、必要とする文節が公平ではなく
反転側が有利(に見えるように)に書いてあるから指摘しただけ。

988 :仕様書無しさん:2015/02/03(火) 01:37:32.97
まだやってんのか…
しかも話題がプログラムですらないじゃないか

989 :仕様書無しさん:2015/02/03(火) 01:42:13.43
プログラム上でもx=x^1と書くのは冗長だからx^=1と省略してるじゃん
xに入れるのに、1に対して演算するなんていうぶれた表現するのが悪い

990 :仕様書無しさん:2015/02/03(火) 01:45:32.30
書くのと読むのをごっちゃにしている。

別に文字数が長いからって
読むのがそれに比例するわけじゃない。

それに書くよりも読むほうが何回もやる。
だから、ちょっと長くなるよりも
読む時に意図がはっきりする方がいい。

だからビットごとに意味があるときだけ、
ビット演算を使うべき。

991 :KAC:2015/02/03(火) 01:51:31.63
まだやってるのか頑張ってくれ。

一応、速度の話が出たので情報だけ貼っとく。

xorl $0x1,-0x4(%rbp)

400637: b8 01 00 00 00 mov $0x1,%eax
40063c: 2b 45 fc sub -0x4(%rbp),%eax

400654: 83 7d fc 00 cmpl $0x0,-0x4(%rbp)
400658: 0f 94 c0 sete %al
40065b: 0f b6 c0 movzbl %al,%eax

992 :仕様書無しさん:2015/02/03(火) 01:51:44.42
あ〜ぁw
xという変数に「ほにゃららした値」を「入れる」のにはなんら変わりないのに
>ぶれた表現するのが悪い
この一言で全てが台無しw

993 :KAC:2015/02/03(火) 01:52:01.17
ごめん

操作ミスった。。。

994 :KAC:2015/02/03(火) 01:56:37.12
インテル系のバイナリから逆アセした。

x ^= 1 ;
 xorl $0x1,-0x4(%rbp)

x = 1 - x ;
 mov $0x1,%eax
 sub -0x4(%rbp),%eax

という結果。
-0x4(%rbp)が変数だから、
x = 1 - x は、x ^= 1 の倍の処理があるって事。

速度の話するときは参考にしてくれ。

995 :仕様書無しさん:2015/02/03(火) 01:59:11.36
>>992
変わらないならなーんで x=x^1 を省略して書ける言語が星の数ほどあって x=1-x で同じ事出来る言語が全く無いんですかねー
不思議ですねー

996 :KAC:2015/02/03(火) 02:05:54.17
焦るとろくなことがないな。。。
結果をeaxに入れる処理切り取るの忘れてた。
なので、x = 1 - x は、x ^= 1 の3倍って事で。

x = 1 - x ;
 mov $0x1,%eax
 sub -0x4(%rbp),%eax
 mov %eax,-0x4(%rbp)

参考までに、論理反転だとこうなった。
x = !x ;
 cmpl $0x0,-0x4(%rbp)
 sete %al
 movzbl %al,%eax
 mov %eax,-0x4(%rbp)

997 :仕様書無しさん:2015/02/03(火) 02:12:59.89
>>994
> x ^= 1 ;
>  xorl $0x1,-0x4(%rbp)
>
> x = 1 - x ;
>  mov $0x1,%eax
>  sub -0x4(%rbp),%eax

この結果からはっきりした。1クロックしか変わらない。

つまりだ。1GhzのCPUの場合、1 000 000 000 クロック / 秒なので
逆にすると、1回あたり0.000000001秒の違いが生まれるということ。
10億回実行してやっと1秒の差になるな。

998 :仕様書無しさん:2015/02/03(火) 02:14:02.83
>>997
なるほどね。それだけの差しか生まれないなら
読んだ時に人間が理解する時間のほうが重要だな。

999 :仕様書無しさん:2015/02/03(火) 02:14:38.42
結局のところ速度の話をする意味ってなかったんじゃね?
やっぱり、ビット演算はビットごとに意味がある場合に使うべきだよ

1000 :仕様書無しさん:2015/02/03(火) 02:15:11.68
ということで、予定通りの答えが出たので
これにて終了w

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

263 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)