delphiのアドバイスをしてください。


http://user0312.srv001.bgrp.jp/index.html
WebBrowserコンポーネントを利用したMDIアプリケーションの、MAIN.pasです。
MAIN.pas単独で言えば、30%前後の達成度です。細かい部分はまだ書いていませんが、
それらの、書いていないと思われる部分へのアドバイスでも結構です。(未実装ではなく、頭に無い可能性も高いので。)

アドバイス内容に関しては、一切問いません。
どんな些細なものでも結構です。ただし、次の2点にご留意ください。
・可読性を犠牲にした軽微な高速化には全く興味がありません。
・アドバイスの内容が理解できない場合は、渋めの配分になります。
 ただし、理解できた/役に立った時点で、追ってポイントを送信させていただきます。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/09/30 14:44:25
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント50pt

具体的にどのようにしたいという仕様が不明なため、プログラムの細かい部分ぐらいのアドバイスしかできません。


  //[mine]if文連打で苦しいけれど、エラー無し。
  if actvTab then
  begin
    if Index > 0 then
    begin

IF文多様でわかりにくいと思うならば

条件に 当てはまらない場合は Exit させるというのもひとつの手です。

また、or や andを用いて 少なくするなど。

  //[mine]if文連打で苦しいけれど、エラー無し。
  if actvTab AND (Index > 0) then
  begin

というように。



http://q.hatena.ne.jp/answer

id:SuzukiU

これは完全に盲点でした。

仕様が不明ならなんとも言えない、くらいの感じなのだとすると、それなりに嬉しいです。動くまでF9を押し続けるというスタイルでやってきたので、「明らかにおかしいだろ」というようなポイントが多数あると考えていたのですが、被害妄想が過ぎたようです。

//設定ミスでURLが必須になっていました。すみません。

2007/09/29 06:43:18
id:KUROX No.2

回答回数3542ベストアンサー獲得回数140

ポイント50pt

delphiって、コーディングの暗黙のルール(規約)みたいな

ものはないんでしょうか?

探してみましたが、見つかりませんでした。

可読性をあげるには、ルールにのっとってソースを書いた方が

良いと思います。

Javaとかは

http://www.tcct.zaq.ne.jp/ayato/programming/java/codeconv_jp/

こういう感じであります。

---------------------------------------------

システムで自動生成された部分と

自前で書いてる部分が区別できないので的をはずしてるかも

しれませんが

// タブが1つしか無いならば、それを表示する。

if jtcIETab.Tabs.Count=1 then

FrontThisTab(0);

// タブが1つしか無いならば、それを表示する。

if jtcIETab.Tabs.Count=1 then

begin

FrontThisTab(0);

end;

システムで自動生成されてるのなら仕方がないですが、

自前で書くときは、begin end;をこういうケースでも

つけたほうが、今風です。

他のIF文見るとついてるものもありますね。

この場合、ステートメントが1行で必要なくても書くのが

今風だと思います。

id:SuzukiU

後にコードを追加する可能性がある所はbegin、end、

一行のみで確定という所は無し、という風にやっていました。

これからはbegin endを付ける方向で行きたいと思います。

コーディングルールは、ソースを読んだりして吸収してはいますが、

適当にやっている部分の方が多く、よく分かっていません。

2007/09/29 06:49:46
  • id:SuzukiU
    書き忘れました。
    環境はDelphi6personal+GExpert for delphi 6です。
    また、質問者の技術レベルは0です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません