インデントを強制しても綺麗なコードにはなりません
■ このスレッドは過去ログ倉庫に格納されています
Python等インデント強要する言語に対して。
まず、インデントは簡単です。
誰にでもできることです。
できない人もいるという反論があるでしょうが、
それができない人は、プログラミング全般出来ません。
プログラミングがある程度出来るようになったら、
インデントぐらいできるようになってます。
だから、言語仕様としてインデントを強制する理由は存在しません。
プログラマの自由を奪うだけの意味が無い行為です。 変数名の先頭が大文字か小文字かで、定数かそうでないかを決める
どっかのスクリプト言語よりゃ、インデントは必ずやるから害はないな >>2
インデント強制は害があるよ。
そもそもインデントの目的は見やすくするため。
見やすくするためという目的が達成できるのなら
変則的なインデントでも良い。
それに開発中、コードの順番を入れ替えて
正しく動かくか少し試すなんてときに
強制は邪魔だし、
あとですぐに削除するデバッグ用のコードを目立つように
わざとインデントしないこともある。
一体誰のための、強制ギブスなのか全くわからない。 仕様書の文章書く時は
段落が変わったら字下げしないと駄目だよっていわれた
後、てにおはに赤ペンで修正されてた。
>>6
インデントというのは自然言語に対する敗北宣言なのだ。 このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所 で、具体的に何を求めてスレ立てたの?
できればコテハンやトリップ付けて発言して欲しいな Pythonは、閉じ括弧不要とインデントが深くなるコードを抑制する効果があった
> あとですぐに削除するデバッグ用のコードを目立つように
Pythonの場合だけど、
if __debug__:
# debug code
最適化オプション付きで実行すると、コンパイル時に取り除かれるので
実行時のパフォーマンスに影響しないから削除不要。削除するなら __debug__ で該当箇所を検索できる。 インデントを強制する言語では自由なインデントができなくなる
一箇所処理を書き入れただけなのに全体のインデント修正が必要になるって非効率的にもほどがある >>12
> Pythonは、閉じ括弧不要とインデントが深くなるコードを抑制する効果があった
インデントを浅く保つってことは、プログラミング技術の中で、
難易度が高いことなのか?
インデントが深くなるような奴=初心者プログラマは
どっちにしろ汚いコードになるし、
それなりのプログラマ = インデント深くならない だろ?
なんの効果も出てないよ。 >インデントが深くなるコードを抑制する効果があった
ブロックが深くなると読みづらくなるのはインデントだろうが{}だろうがendだろうが変わらんのじゃ?
インデントがブロックを表す言語だとそうじゃない言語よりブロックが深くなった時により回避したい気持ちが強くなるん?
それって可読性が悪いってことを暗に言ってるように聞こえるが。 インデント最初に見たときは、読み難くかったな。PascalかAlgolかどちらだか忘れたけど。 使ってれば分かるけど
{ } うつよりも
do end タイプするほうが速い >>26
不器用なんだね。
ワンライナー書いてるとスペース不要な括弧のが便利。 まぁrubyはどっちでもかけるんだし
好きなほう使えばとしか Pythonってネストが深くなるかどうかより
ソースが1個か2個でもネストしたまま長くなると
それだけで読みづらいと思うんだけど
なでしこ
全角半角スペースTAB問わずインデント可能で混乱を招きやすいあたり実は中級者向け スペース書いてしまったMakefileを思い出す。 コンパイラがチェックしてくれるなら意味はある
コーディング規則みたいな中途半端な強制が一番うざい インデントの強制って
"アルゴリズム" とは無関係のことに対して気をつけなければならないってこと
完成し終わったソースは、字数が少なく綺麗でも
それは関数型と似ていて、途中思考をしていくのは苦手な言語
Pythonでゼロからアルゴリズムを思考してかいて、複雑なものを作ろうとしたら
インデントに気をつけながらIFやFORをコメントアウトしながら
デバッグしていく効率の悪いバカですよ endの代わりにpassやreturnをつければいい 訂正 end は { } よりはマシであるが、邪魔
でもなくなると読みづらい
ではどうすればよいかというと
結局ソースコードを書く時間を減らせばいい
思考をまとめてから開始し、エディタ、pcと向かい合う時間を最低限にする事が
一番ストレスたまらない begin〜endを{}と比較するとか池沼レベルの発想
どっちでも大差ないしむしろタイプ数が増える分begin〜endの方が英単語書きたい系中二病の疑いが高い > begin〜endを{}と比較するとか池沼レベルの発想
>どっちでも大差ないし
えっ えっ_ IDEが勝手にインデント付けするならアリだけど
インデントしてないと実行時エラーはやりすぎだと思う。
Pythonは知らんけど。 日本人は、戦争に負けた。
でも何時から奴隷になった?
あなた達は今目覚めないと、二度とその目は開かない。
歴史というのはいつも編集されている。平清盛がとても優しい人だった。
『江談抄』で平安を生きた公家が鎌倉期にそれを階述してる。でも『平家物語』では悪役にされるんだよ。
http://www.youtube.com/watch?v=7QQzmAQ7wEc&feature=related
勝手にIDEでインデントうんぬんは変だと思うけど…
書きたいコードと違うものが出来上がる場合だってあるし
明確にそれしか解釈しようがないなら自動でいいけどな
と思ったけどそれも変だな…
制御構造を大幅に変更する途中で勝手にインデントを書き換えられても困るな Pythonは使える奴を選ぶ言語
誰でもは使えない Wordの文章のインデントを揃えられれば既に立派なSEです 10代20代テレビ離れ 30%減少 インターネットの方が面白い 総務省
http://engawa.2ch.net/test/read.cgi/poverty/1344886835/
Twitter Facebook YouTube mixi ニコニコ動画
総務省が発表した「情報通信白書」には、
世代別の「テレビを見る」時間を過去と比較したデータがある。
若い世代のテレビ離れは一目瞭然。
10代では、2005年に1日平均106分だった視聴時間が、2010年には70分と、
わずか5年で3割以上も減少している。
同様に20代では、2005年に104分だったのが2010年には76分に激減。
10代 106分 → 70分
20代 104分 → 76分
http://zasshi.news.yahoo.co.jp/article?a=20111104-00000005-pseven-pol
テレビよりインターネット
メディア環境研究所は2010年6月23日、毎年2月に実施している
「メディア定点調査」の最新版「メディア定点調査・2010」の抜粋編を発表した。
「20代男性はテレビ以上にパソコンでネットに接続している」
「男性は10代から30代でテレビよりも、パソコンと携帯電話を合わせた
インターネットへの接続時間が長い」
グラフ
http://www.garbagenews.com/img10/gn-20100624-17l.gif
http://www.garbagenews.net/archives/1443170.html
そりゃ、インターネットは24時間接続しっぱなしだものw インデントを揃えるのは
衛生面の教育が高度に普及している日本人にぴったり ちょっとPython実際にやってみてわかったけど
やりにくいよこれ
使える奴を選ぶ言語だ
プログラム言語は所詮道具、手段みたいな奴には良いかもしれないけど
一行に詰め込めない自由度の低さが半端ない
そしてrubyになれてると括弧が鬱陶しい >>57
> 使える奴を選ぶ言語だ
同意。
お前は二度と来るな。 今日も俺はrubyで発狂コードを書きまくってたけど
Pythonでも方法はあるんだろうけどさぁ
Pythonに乗り換えるとしたら
Pythonのありとあらゆる機能を調べないと
いま自分がrubyで書いてるコードは絶対Pythonに移植とか出来ない
class,if,for イテレータとか、その程度だけじゃどうにもならない
1言語を極めるって凄い重要だなと思った ___
/| |
||. |∧_∧|
||. (´・ω・| うわっ、クソスレに来てしまった。
||oと. U|
|| |(__)J|
||/ ̄ ̄
___
| |
| |
| o|
| |
| |
彡 ̄ ̄ パタン、
Python結構いいと思えてきた
紙グラミングするときにはendなんて書かないし
Pythonは、タイプ数こそは少ないけど
みててつまらない言語である
しかしオブジェクトの操作は多分rubyのほうが数段優秀だ
けどその優秀さは、実は多くのプログラミングでは必要としない優秀さであって
ハッカーが趣味でキチガイみたいなコードを書く為の楽しみとして使われる機能だと思う
rubyにある変な機能は、使いまくっていったら可読性のかけらもないが
自分にしか読めなくてもいいから、とりあえず考え付く限りの最高のコードを書く為だけにあるような気がする
Pythonは、当たり前のことを普通にやっていく言語
あくまで言語は道具であり手段って奴には向いているのかもしれない
rubyのendは冗長だよ、でもそこは冗長でいい事もある、そのendがPythonと違って可読性の助けになるから
所詮プログラミング言語は、存在自体が冗長で、なんらかの目的に特化するために
言語上で言語を作る事が一番良い結論付いた
つまり、プログラミング言語を作りやすいプログラミング言語が最強 ruby最強 お前らどんなソフト作ってるの?
もしかして、2ちゃんねるで語ってるだけじゃなかろうな? プログラミングすら出来ない初心者死ね
プログラミングすら出来ないPC初心者死ね
プログラミングすら出来ない人生初心者死ね
プログラミングすら出来ない人間死ね
プログラミングすら出来ない生き物死ね >>64
言語つくるならぱいぱいが楽チンでいいよ
ぼくがかんがえたさいきょうのrubyも簡単に作れる 同じ動作をするコードは誰が書いても同じコードになる。
(勿論、複雑になるとそう簡単には行かないが)
Pythonはその思想に基づいてるはず。
rubyは逆。同じ動作でも好きに書けた方が良い、という思想。
前者は大規模開発におけるコードの均質化に貢献する。
後者はごく少人数の少数精鋭の開発、趣味的コーディングの心地よさに貢献する。
言語の差があるから一長一短。
インデントを強制しても綺麗にならないとしても
綺麗なコードはインデントしているのは確かな事実。 >>70
じゃあ作ってみて 何日で作れる?
逃げんなよ >>71
> 同じ動作をするコードは誰が書いても同じコードになる。
ありえない。もしそうなら著作権が発生しないことになる。
> インデントを強制しても綺麗にならないとしても
> 綺麗なコードはインデントしているのは確かな事実。
もしコーディング技術のレベルを最低0から最高10で表すとしたら
レベル1でインデントできるようになっている。
つまりインデントを強制することで得られるのはレベル0が1になる程度。
それが意味がある程度の人間が書いたコードは、どっちみち汚い。
初心者がC言語で書いたソースを
そのままPythonにしたら発狂すると思う
その時にインデント構文である事を後悔する
こういう癖のある言語は腕が良くないと使えない C→パイスンなんて移植は普通誰もやらないから心配する必要はない 初心者がパイソンをさわったらってはなしだよ
とてもインデントが面白いことになると思う
俺初心者の頃に7重ループとか書いたことある
イフエルセ節を全部forで書き換えた インデント強制なしで{ }を使わずに書く方法を編み出してから言え。 line 2: ERROR: タグが終了していません [ -z "$a" ] && echo T || echo F >83以降
{ }より長い文字数のは却下。タイピング数が増える。 begin end以外認めない。{ }とかシフト押すし小指疲れるからやだ。 ruby以外は嫌だ。使いこなせないから。てことか。 (if a t nil)
言語のふつくしさで言ったらlispだな。
可読性?なにそれおいしいの? 結局パイソンのインデント方式が、余計な記号もいらないし、早くて楽なんだよ。はい論破 エディタによっては勝手にインデント調節しちゃうのもあるんだよな。
そうするとパイソンのソースコードは一瞬で破壊されてしまう。 beginは5文字なのにendが3文字なのが気に入らない >>92
Ctrl+A→Shift+Tab連打→Ctrl+S はい論破 PythonはPython用のIDEじゃないとまともに使えないよね
ある意味JAVAとかよりもIDE依存の言語 >>89
{ }(カッコ)の一方にカーソルをおいて、
Ctrl + Q
をすれば、対応するカッコにジャンプする
Ctrl + Q
するたびに相手にジャンプする。便利な機能だ
>>92
お前には改行記号とタブ記号が見えないのか。 ■ このスレッドは過去ログ倉庫に格納されています