>>897 JavaやC++だとその場で宣言するからコンパイラにiが重複してると怒られるかjがないと怒られるかどっちかだからな
>901
ダウト。
例えばC/C++では以下のソースは正しくコンパイルが通るし、きちんと9回ループする。
VC等の一部のコンパイラを除けば、変数の宣言を for の初期化式に書いても同様。
Javaも同じのはず。
…何故そうなるのかは言わなくてもわかるよね?
int i;
for( i=0; i<3; ++i ){
int i;
for( i=0; i<3; ++i ){
printf("Hoge\n");
}
}
C++では通るけど、Javaではそれはエラーだよ。
ふたつめのint i;けせばいいことだ
for文内で宣言されると、埋もれてスコープが分かりづらくなる。
for( int i=0; i<3; ++i ) {
for( int i=0; i<3; ++i ) {
printf( "hoge\n");
}
}
gcc -Wshadow しとけ。
同じ変数名を使うのは嫌がらせ。
誰も
func(i,j);
を考慮してないことに突っこんでもいいですか?
エッ
Public Const mcintCount1 As Integer = 1
Public Const mcintCount2 As Integer = 2
Public Const mcintCount3 As Integer = 3
Public Const mcintCount4 As Integer = 4
Public Const mcintCount5 As Integer = 5
Public Const mcintCount6 As Integer = 6
Public Const mcintCount7 As Integer = 7
Public Const mcintCount8 As Integer = 8
Public Const mcintCount9 As Integer = 9
Public Const mcintCount10 As Integer = 10
いや元から辞めようとはしてるんだけどね。
マジックナンバー禁止!と言われてそーゆー風に変数を定数のように用意したというのはよく聞く嫌な話ではある
#include "騎乗”
#define "落馬"
913 :
仕様書無しさん:皇紀2665/04/01(金) 07:28:04
皇紀あげ
>909
enum使えばいのにねぇ・・・
>>914 いや、それもちょっと違うと思うが。
数字そのものに意味がある場合は別名なんて付けないほうが良いわけだよ。
ネタに・・
917 :
仕様書無しさん:皇紀2665/04/01(金) 15:22:51
>>915 エライ人にはそれが分からんのです。
基準書がどんなにお馬鹿でも金もらってる以上従う以外にないのです。
>>915 細かいことだけど、それはケースバイケースって奴じゃないかな。
最大数の定義を自動化できたり、他の型と区別できたり、
ゼロ始まりと1始まりの混在みたいな恐ろしい状況に対する緩衝剤になったり、
可読性上げられたり、enumの利点は山ほどあるわけで、
生数字がいい場合と、種類の定義がなされている方がいい場合は
ちゃんと使い分けて…
なんてことを
>>915がわかってないはずもないし、
その一方でそのことがわかってる香具師らばっかりだったら、
このスレ成立しないのか。
南無阿弥陀仏。
#include "やらせろ.h"
「コメントは全行につける」というコーディング規則があったなあ。コーディングシートに手書きの
時代だったので、41と71カラムに/*と*/を全行書いてコピーしたシートを使った。
それをパンチ屋さんに出すもんだから、隙間のところも前部/*と*/がパンチされて来てエラいことに
>>921 「空行にもコメントを付けるんですか?」などと(ry
コメントだけの行にもコメント付けないと。
4つ以上の連続する空白をコメントに置換するフィルタを書けば良い。
>925
そのフィルタのソースにもコm(ry
なんかこーランチタイムは全品半ライス付きの店にいってラーメンと半ライス頼んだら
ラーメンに半ライス付いて来て半ライスにも半ライス付いて来たかのような流れを感じる
焼き飯に炒飯はごく普通に見た事がある。
再帰メニュー・・・
>>922 PL/Iと見た。いくらなんでも「コーディング用紙に書いてパンチ屋さんに出して」の世界で
Cはないだろう。と思いたい。
931 :
921:ぬるぽ暦4年,2005/04/05(火) 05:59:57
>>930 鋭い!!当たり。そのPL/Iで何書いたかというと「アセンブラ」ダターヨ
932 :
363:2005/04/07(木) 12:49:04
この害虫に以下略。まだまだでてきやがる…
<% // 情報1 %>
<c:if test="${!(empty(xxbean.subBean.param1))}">
<%
final xxbean b = (XXBean) pageContext.getAttribute("xxbean");
String url = String.valueOf(xxbean.subBean().param1());
int idx = 0;
String dir = "";
String file = "";
if (url.length() >= 0) {
idx = url.lastIndexOf('/');
dir = url.substring(1,idx);
dir = dir.replaceAll("/","!");
file = url.substring(idx+1);
idx = file.lastIndexOf('.');
file = file.substring(0,idx);
}
%>
続く
933 :
363:2005/04/07(木) 12:54:57
続き
<div>
<h2>
<% // <a href="<c:out value="${xxbean.subBean.param1}"/>"> %>
<a href="/static.do?dir=<%= dir %>&file=<%= file %>&title=<c:out value="${xxbean.subBean.param1Title}"/>">
<c:out value="${xxbean.subBean.param1Title}"/>
</a>
</h2>
<p>
<a href="/static.do?dir=<%= dir %>&file=<%= file %>&title=<c:out value="${xxbean.subBean.param1Title}"/>">
<img src="<c:out value="${xxbean.subBean.param1Img}"/>" alt="<c:out value="${xxbean.subBean.param1Title}"/>" ">
</a>
<c:out value="${xxbean.subBean.param1Lead1}"/>
</p>
</div>
</c:if>
これを情報3まで三回べた書き。
Strutsなのに。オマケにparam1Titleは2バイト文字なのにURLエンコードしてない。
もちろん後からサーブレット側で書き直して、パラメーターはMapに詰めてnested使ってループ処理にしましたとも。
っていうか
<% // 情報1 %>
何ですかこのコメントの書きかたは。
他にも
<% /* %>
ここをコメント化
<% */ %>
ってのもあった。
これをやってるのが害虫側のリーダーだったて言うんだからもうシャレにもなんねぇ……
// 変数名は適当に書き換えたのでコンパイルエラーがあったらスマソ
>>932-933 PHP厨な漏れには喪前が何を書いていて、何に対して起こっているのか
理解できないんだが、もう少しわかりやすく簡潔に書いてくれ。
935 :
363:2005/04/07(木) 13:54:07
>>934 すまんね。
Struts使ってる場合はJSP側は極力表示のみに特化するべきで、
文字列操作だとかはサーブレット側で行うべき。
それを、jspでJavaコードとして書いている。
しかも、パラメーターがparam1 param2 param3だからってこれを三回ベタ書きしてる。
DBの項目が増えたらまたコピペで増やすつもりだったんだろうけど。
サーブレット側でやって結果だけを表示させるようにすればわざわざこんな真似しなくても
Strutsのループできれいに書ける。
そもそもJSPには<%-- コメント --%>という立派なコメントタグがある。
それなのに
<% // 情報1 %>とか
<% /* %>
ここをコメント化
<% */ %>とかいうわけのわからないコメントの書きかたをしてる。
酷い時には<!-- JSPに対するコメント -->とかすらある。
ちなみに上記のを3回貼り付けるやり方を、サーブレット側でやらせるように俺が直したらこうなった
↓
<%-- 関連1-3 --%>
<logic:present name="paramList" scope="request">
<logic:iterate id="mapBean" name="paramList" scope="request" type="mapBean">
<nested:root name="mapBean">
<nested:notEqual property="file" value="none">
<nested:define id="src" property="img" type="java.lang.String"/>
<nested:define id="alt" property="title" type="java.lang.String"/>
<div>
<h2>
<nested:link page="/static.do" property="map">
<nested:write property="title"/>
</nested:link>
</h2>
<p>
<nested:link page="/static.do" property="map">
<html:img src="<%=src%>" alt="<%=alt%>"/>
</nested:link>
<nested:write property="lead"/>
</p>
</div>
</nested:notEqual>
</nested:root>
</logic:iterate>
</div>
</logic:present>
これだけでparamが5になろうと、10になろうと、対応出来る。
もちろんJava側もPHPで言う「関数名の変数」を使ってループにした
JavaもHTMLの書き方も知らない厨だが、
>しかも、パラメーターがparam1 param2 param3だからってこれを三回ベタ書きしてる。
>DBの項目が増えたらまたコピペで増やすつもりだったんだろうけど。
これだけでも充分DQNぶりが伝わりますた。
>>935 DBの項目が増えるのを予想して、
仕様が変わるのを予想して、
363がDQNなのを予想して、
コーディングしてください。
と最初に伝えればよかったと思う。
940 :
363:2005/04/07(木) 16:25:37
>>939 ごめんね、363=おれDQNだから、ごめんね
俺が悪かったのか……orz
泣くな
>>932 それくらい許してやれよって思うんだけど。
<% /* %>
こんなコメント使えるんだ。知らなかった
<% と %> にはさまれた部分を抜き出してJavaコードを作ってるだけですから。
>>942 これだけだったらな。
そもそも漏れはかかわることのないプロジェクトだったのに、
「Torque書き方わからないので書いてください」ってDAO部分全部漏れにやらした状態で
リーダーは胃に穴あけた。漏れもひと段落した後倒れた。
その他余罪
>>175>>363>>413(これでも氷山の一角)
ちなみにjspレベルのコメントで書かないといけないコメントも
多数がHTMLコメントで書かれてたりもした
CVSの新コードをそのまま手元にある旧コードでコミットして台無しにしてくれたこともあったなぁ。
問い詰めたら泣かれた。
結局「Strutsをまともに使えるのは一人だけですが全員Javaをきっちり書けます、
わからないところはわかってる奴に質問させます」
というのは真っ赤な嘘っぱちで全員Javaは素人クラス。
Strutsができると言った人間もあまりにもひどいコード書くので追求したら
「ごめんなさい、少ししか書けないんです」とゲロしましたとさ。
DQN会社にはDQNな害虫しかよりつかないってこった
>945
>結局「Strutsをまともに使えるのは一人だけですが全員Javaをきっちり書けます、
>わからないところはわかってる奴に質問させます」
>というのは真っ赤な嘘っぱちで
こういう奴らも結局営業の被害者なんだろうか、
それとも営業もだまされたクチなのかな…。
なんかもーねぇ。
多少選考に時間かかるリスクはあるけど
面接の一環として実技入れた方がいいと思うんだけど・・・・
>948
うちはやりましたよ。
ファイルの書き込みすら行なわない、20行くらいのプログラムだけど… orz