質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

解決済

ifやforの無い、ただのブロックの使用について

reimer0204
reimer0204

総合スコア27

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

2回答

1リアクション

0クリップ

483閲覧

投稿2022/09/30 01:23

編集2022/09/30 03:42

追記

teratailは困っている人の質問を解決するサービスです。そのため、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。

コメントにて上記項目に該当するのでは、というご指摘を受けましたので本質問はクローズさせていただきました。
大変失礼いたしました。

質問

下記はJSの例ですが、多くの他言語でも出来る下記のような if や for なども使わずにただブロックだけを単体で使うコードの是非を皆さんにお伺いしたいです。

js

// 何かしらの処理A { // 何かしらの処理A-1 // 何かしらの処理A-2 } // 何かしらの処理B { // 何かしらの処理B-1 // 何かしらの処理B-2 }

補足情報

そもそも1関数自体小さくするべきという話はありますが、なんだかんだどうしてもバッチ的な処理だったり泥臭い処理などで長くなるケースはあると思うので、その前提で…

これは他の人のコードで初めて見て、正直今までこういった書き方は見たことがなかったので第一印象は「気持ち悪い!」だったのですが、変数のスコープは狭いに越したことはないし、2~30行のコードにコメントをつけた時にこの方が範囲が分かりやすいので合理的なのか…?というような気もします。

個人的には別にデメリットもないし「見慣れない」というだけの理由で避けるのは違う気もするのですが、コーディング規約でこれに触れられているのも見たことはないですし、タブ/スペース論争などのような議論も見つからず、皆さんの意見を聞きたく質問させていただきました。
※既存の質問も探したのですがどうしてもブロック崩しの話ばかりヒットしてしまい…既にありましたらすみません。

think49👍を押しています

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/09/30 01:39依頼された後にこの質問は修正されています

こちらの質問が複数のユーザーから「問題・課題が含まれていない質問」という指摘を受けました。

fana

2022/09/30 02:06

> teratailは困っている人の質問を解決するサービスです。そのため、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。 (ヘルプより抜粋) …ということになっており,残念ながら本件のような方向の話は場所的に取り扱い範囲外…ということになるものと見えます. なので(?)あえてteratailでやるのであれば,例えばもうちょっと無知を装って, 「あるコードに ifとかfor でもない箇所に{}が書かれていてこれが何なのか意味が分からない.これは何なの? 試しに取っ払ってみたら,結果の振る舞いが場所次第で異なるようだ.何も影響が無いように見える箇所もあれば,エラーになってしまう箇所もある」 みたいな話から出発するような工夫が必要でしょう. ↓ で,それに対して「変数のスコープが」みたいな回答が来たら,そこにぶらさげる形で「なるほど,しかしこういう書き方って自分はあまり見たことないんだけど一般的なの?」とか言ってみれば目的の話ができる,と.
shiketa

2022/09/30 02:09

ありなんじゃないですか。ただし`{hogege()}`と書いてもそこは単なる関数定義であり、実行されるわけではない言語もあることを知っておいて損はないとおもいます。
reimer0204

2022/09/30 03:35

> teratailは困っている人の質問を解決するサービスです。そのため、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。 大変失礼いたしました。ご指摘ありがとうございます。 本質問については早急にクローズさせていただきます。
fana

2022/09/30 04:05

> 早急にクローズ という方向に向かわせる意図は無かったのだけど… 個人的にはわりと普通な書き方です.

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。