Skip to content

Commit f35934e

Browse files
authored
Update structure.rst
1 parent 540a3ec commit f35934e

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

docs/writing/structure.rst

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
.. dependencies are clear as well as how the files and folders are organized
1212
.. in the filesystem.
1313
14-
「構造」とは、プロジェクトがその目的をどのように最も満たしているかについての決定を意味します。 クリーンで効果的なコードを作成するために、Pythonの機能を最大限に活用する方法を検討する必要があります。 実際には、 "構造"とは、ロジックと依存関係が明確なクリーンなコードと、ファイルとフォルダがファイルシステムにどのように編成されているかを意味します。
14+
「構造」とは、プロジェクトがその目的をどのように最も満たしているかについての決定を意味します。 クリーンで効果的なコードを作成するために、Pythonの機能を最大限に活用する方法を検討する必要があります。 実際には、 "構造"とは、ロジックと依存関係が明確であるクリーンなコードと、ファイルとフォルダがファイルシステムにどのように編成されているかを意味します。
1515

1616
.. Which functions should go into which modules? How does data flow through
1717
.. the project? What features and functions can be grouped together and
@@ -320,7 +320,7 @@ Setup.py
320320
.. users; many test suites often require additional dependencies and
321321
.. runtime contexts.
322322
323-
あなた自身のモジュール内でテストを配布すべきだと主張する人もいますが、私は同意しません。 多くの場合、ユーザーの複雑さが増します。 多くのテストスイートでは、多くの場合、追加の依存関係と実行時コンテキストが必要になります
323+
あなた自身のモジュール内でテストを配布すべきだと主張する人もいますが、私は同意しません。 多くの場合、ユーザーの複雑さが増します。 多くのテストスイートでは、ほとんどが追加の依存関係と実行時コンテキストが必要になります
324324

325325
Makefile
326326
::::::::
@@ -338,7 +338,7 @@ Makefile
338338
.. short, make is a incredibly useful tool for defining generic tasks for
339339
.. your project.
340340
341-
ほとんどのプロジェクトやPocooプロジェクトを見てみると、Makefileがあることに気付くでしょう。 どうして? これらのプロジェクトはC言語で書かれていません...要するに、makeはプロジェクトの一般的なタスクを定義するための非常に便利なツールです
341+
ほとんどのプロジェクトやPocooプロジェクトを見てみると、Makefileがあることに気付くでしょう。 なぜかというと、これらのプロジェクトはC言語で書かれていません...要するに、makeはプロジェクトの一般的なタスクを定義するために非常に便利なツールであるということです
342342

343343
**Sample Makefile:**
344344

@@ -392,7 +392,7 @@ Djangoアプリケーションについて
392392

393393
.. Don't do this.
394394
395-
これはしないでください
395+
しかし、このようにしないでください
396396

397397
.. Repetitive paths are confusing for both your tools and your developers.
398398
.. Unnecessary nesting doesn't help anybody (unless they're nostalgic for
@@ -402,7 +402,7 @@ Djangoアプリケーションについて
402402

403403
.. Let's do it properly:
404404
405-
正しくしましょう:
405+
正しくは以下の通りです:
406406

407407
::
408408

@@ -440,7 +440,7 @@ Djangoアプリケーションについて
440440
.. pure architectural task of crafting the different parts of your
441441
.. project and their interactions.
442442
443-
インポートとモジュールをPythonで処理する方法のおかげで、Pythonプロジェクトを構造化するのは比較的簡単です。 ここで簡単に言うと、あなたは多くの制約がなく、モデルをインポートするモジュールが把握しやすいということです。 したがって、プロジェクトのさまざまな部分とその相互作用を作成するという、純粋なアーキテクチャ上の任務が残っています。
443+
インポートとモジュールをPythonで処理する方法のおかげで、Pythonプロジェクトを構造化するのは比較的簡単です。 これを簡単に言うと、多くの制約がなく、モデルをインポートするモジュールが把握しやすいということです。 したがって、プロジェクトのさまざまな部分とその相互作用を作成するという、純粋なアーキテクチャ上の任務が残っています。
444444

445445
.. Easy structuring of a project means it is also easy
446446
.. to do it poorly. Some signs of a poorly structured project
@@ -529,7 +529,7 @@ Pythonモジュールは、利用可能な主要な抽象レイヤーの1つで
529529
.. So a file name like :file:`my.spam.py` is one you should avoid! Naming this way
530530
.. will interfere with the way Python looks for modules.
531531
532-
スタイルガイドと一致するように、モジュール名は小文字で、小文字にしておき、ドット (.) や疑問符 (?) などの特別な記号は使用しないでください。 したがって、 :file:`my.spam.py` のようなファイル名は避けてください! このように命名すると、Pythonがモジュールを探す方法が妨げられます。
532+
スタイルガイドと一致するように、モジュール名は小文字にしておき、ドット (.) や疑問符 (?) などの特別な記号は使用しないでください。 したがって、 :file:`my.spam.py` のようなファイル名は避けてください! このように命名すると、Pythonがモジュールを探す方法が妨げられます。
533533

534534
.. In the case of `my.spam.py` Python expects to find a :file:`spam.py` file in a
535535
.. folder named :file:`my` which is not the case. There is an
@@ -561,7 +561,7 @@ Pythonモジュールは、利用可能な主要な抽象レイヤーの1つで
561561
.. including other imports if any. Function and class definitions are stored in
562562
.. the module's dictionary.
563563
564-
一旦 :file:`modu.py` が見つかると、Pythonインタプリタはモジュールを隔離したスコープで実行します。 :file:`modu.py` 内のトップレベルのステートメントが実行されます。 関数とクラスの定義は、モジュールの辞書に格納されています。
564+
一旦 :file:`modu.py` が見つかると、Pythonインタプリタはモジュールを隔離したスコープで実行します。 そして、 :file:`modu.py` 内のトップレベルのステートメントが実行されます。 関数とクラスの定義は、モジュールの辞書に格納されています。
565565

566566
.. Then, the module's variables, functions, and classes will be available to the
567567
.. caller through the module's namespace, a central concept in programming that is
@@ -575,26 +575,26 @@ Pythonモジュールは、利用可能な主要な抽象レイヤーの1つで
575575
.. means that you generally don't have to worry that the included code could have
576576
.. unwanted effects, e.g. override an existing function with the same name.
577577
578-
多くの言語では、 ``include file`` ディレクティブがプリプロセッサで使用され、ファイル内のすべてのコードを取得し、呼び出し側のコードにコピーします。 Pythonではこれが異なります。含まれているコードはモジュールの名前空間で分離されています。これは、一般的に、含まれているコードが望ましくない影響を及ぼすことを心配する必要がないことを意味します。 既存の関数を同じ名前で上書きします。
578+
多くの言語では、 ``include file`` ディレクティブがプリプロセッサで使用され、ファイル内のすべてのコードを取得し、呼び出し側のコードにコピーします。しかし Pythonではこれが異なります。含まれているコードはモジュールの名前空間で分離されています。これは、一般的に、含まれているコードが望ましくない影響を及ぼすことを心配する必要がないことを意味しているため、既存の関数を同じ名前で上書きします。
579579

580580
.. It is possible to simulate the more standard behavior by using a special syntax
581581
.. of the import statement: ``from modu import *``. This is generally considered
582582
.. bad practice. **Using** ``import *`` **makes code harder to read and makes
583583
.. dependencies less compartmentalized**.
584584
585-
import文の特殊な構文を使用すると、より標準的な動作をシミュレートすることができます: ``from modu import *``。 これは一般に悪い習慣とみなされます。 ``import *`` を **使うと** 、**コードの読み込みが難しくなり、依存関係をコンパートメント化しにくくなります**。
585+
import文の特殊な構文を使用すると、より標準的な動作をシミュレートすることができます: ``from modu import *``。 これは一般に悪い習慣とみなされます。 ``import *`` を **使うと** 、**コードの読み込みが難しくなり、依存関係をコンパートメント化しにくくなるからです**。
586586

587587
.. Using ``from modu import func`` is a way to pinpoint the function you want to
588588
.. import and put it in the global namespace. While much less harmful than ``import
589589
.. *`` because it shows explicitly what is imported in the global namespace, its
590590
.. only advantage over a simpler ``import modu`` is that it will save a little
591591
.. typing.
592592
593-
``from modu import func`` は、インポートする関数を特定し、グローバル名前空間に入れる方法です。 グローバルな名前空間にインポートされるものを明示的に示しているので、 ``import *`` よりも害は少ないですが、単純な ``import modu`` より唯一の利点は、少しタイピングを省くことです
593+
``from modu import func`` は、インポートする関数を特定し、グローバル名前空間に入れる方法です。 グローバルな名前空間にインポートされるものを明示的に示しているので、 ``import *`` よりも害は少ないですが、単純な ``import modu`` より良い唯一の利点は、タイピングを少し省けることです
594594

595595
.. **Very bad**
596596
597-
**ひどい**
597+
**とても悪い**
598598

599599
.. code-block:: python
600600
@@ -605,7 +605,7 @@ import文の特殊な構文を使用すると、より標準的な動作をシ
605605
606606
.. **Better**
607607
608-
**より良い**
608+
**良い**
609609

610610
.. code-block:: python
611611
@@ -739,7 +739,7 @@ Pythonでは、すべてがオブジェクトであり、そのように扱う
739739
.. after the first process loaded the item, and then we have to mark as read a
740740
.. deleted object.
741741
742-
いくつかのアーキテクチャ、通常はWebアプリケーションでは、複数のインスタンスのPythonプロセスが生成され、同時に発生する可能性のある外部要求に応答します。この場合、いくつかの状態をインスタンス化されたオブジェクトに保持することは、世界に関するいくつかの静的情報を保持することを意味し、並行性の問題または競合状態になりがちです。時には、オブジェクトの状態の初期化(通常は ``__init__()`` メソッドで行われます)とそのメソッドの1つによるオブジェクト状態の実際の使用の間に、世界が変更された可能性があります。時代遅れである。例えば、要求はメモリ内のアイテムをロードし、ユーザによってそれを読み取りとしてマークすることができる。別のリクエストで同時にこのアイテムの削除が必要な場合は、最初のプロセスがアイテムをロードした後に実際に削除が行われ、削除されたオブジェクトを読み取り済みとしてマークする必要があります。
742+
いくつかのアーキテクチャ、通常はWebアプリケーションでは、複数のインスタンスのPythonプロセスが生成され、同時に発生する可能性のある外部要求に応答します。この場合、いくつかの状態をインスタンス化されたオブジェクトに保持することは、世界に関するいくつかの静的情報を保持することを意味し、並行性の問題または競合状態になりがちです。時には、オブジェクトの状態の初期化(通常は ``__init__()`` メソッドで行われます)とそのメソッドの1つによるオブジェクト状態の実際の使用の間に、世界が変更された可能性があります。時代遅れです。例えば、要求はメモリ内のアイテムをロードし、ユーザによってそれを読み取りとしてマークすることができる。別のリクエストで同時にこのアイテムの削除が必要な場合は、最初のプロセスがアイテムをロードした後に実際に削除が行われ、削除されたオブジェクトを読み取り済みとしてマークする必要があります。
743743
744744
.. This and other issues led to the idea that using stateless functions is a
745745
.. better programming paradigm.
@@ -790,7 +790,7 @@ Pythonでは、すべてがオブジェクトであり、そのように扱う
790790
.. things that are manipulated (windows, buttons, avatars, vehicles) have a
791791
.. relatively long life of their own in the computer's memory.
792792
793-
明らかに、オブジェクト指向は、有用であり、多くの場合必要である。例えば、操作されるもの (window, buttons, avatars, vehicles) がコンピュータのメモリ内で比較的長い寿命を有するグラフィカルデスクトップアプリケーションまたはゲームを開発する場合
793+
明らかに、オブジェクト指向は、有用であり、多くの場合必要になります。例えば、操作されるもの (window, buttons, avatars, vehicles) がコンピュータのメモリ内で比較的長い寿命を有するグラフィカルデスクトップアプリケーションまたはゲームを開発する場合などです
794794

795795

796796
.. Decorators
@@ -915,7 +915,7 @@ Python言語は、'デコレータ'と呼ばれている、シンプルで強力
915915
.. ensures that ``close()`` is called whether or not there was an exception inside
916916
.. the ``with``.
917917
918-
これは上のクラスの例とまったく同じように動作しますが、それはもっと簡潔です。 ``custom_open`` 関数は、 ``yield`` ステートメントに達するまで実行されます。次に ``with`` 文に制御を戻し、 ``as`` 部分に ``f`` の ``yield`` を割り当てます。 ``finally`` 節は、 ``with`` の中に例外があったかどうかにかかわらず、 ``close()`` が呼び出されるようにします。
918+
これは上のクラスの例とまったく同じように動作しますが、もっと簡潔です。 ``custom_open`` 関数は、 ``yield`` ステートメントに達するまで実行されます。次に ``with`` 文に制御を戻し、 ``as`` 部分に ``f`` の ``yield`` を割り当てます。 ``finally`` 節は、 ``with`` の中に例外があったかどうかにかかわらず、 ``close()`` が呼び出されるようにします。
919919

920920
.. Since the two approaches appear the same, we should follow the Zen of Python
921921
.. to decide when to use which. The class approach might be better if there's
@@ -1028,13 +1028,13 @@ Pythonには、組み込み型とユーザー定義型の2種類があります
10281028
.. :py:meth:`list.append` or :py:meth:`list.pop`, and can be modified in place.
10291029
.. The same goes for dictionaries.
10301030
1031-
変更可能なタイプは、コンテンツのインプレース変更を可能にするタイプです。 典型的な変数はリストと辞書です: 全てのリストには :py:meth:`list.append` や :py:meth:`list.pop` のようなメソッドの変更があります。 辞書についても同じことが言えます。
1031+
ミュータブルなタイプは、コンテンツのインプレース変更を可能にするタイプです。 典型的なミュータブルはリストと辞書です: 全てのリストには :py:meth:`list.append` や :py:meth:`list.pop` のようなメソッドの変更があります。 辞書についても同じことが言えます。
10321032

10331033
.. Immutable types provide no method for changing their content. For instance, the
10341034
.. variable x set to the integer 6 has no "increment" method. If you want to
10351035
.. compute x + 1, you have to create another integer and give it a name.
10361036
1037-
不変型は、内容を変更するためのメソッドを提供しません。 たとえば、変数xに整数6を設定すると、「インクリメント」メソッドはありません。 x + 1を計算する場合は、別の整数を作成して名前を付ける必要があります。
1037+
イミュータブルは、内容を変更するためのメソッドを提供しません。 例えば、変数xに整数6を設定すると、「インクリメント」メソッドはありません。 x + 1を計算する場合は、別の整数を作成して名前を付ける必要があります。
10381038

10391039
.. code-block:: python
10401040
@@ -1049,13 +1049,13 @@ Pythonには、組み込み型とユーザー定義型の2種類があります
10491049
.. types are not "stable", and therefore cannot be used as dictionary
10501050
.. keys.
10511051
1052-
この動作の違いの1つの結果として、変更可能なタイプは「安定」ではないため、辞書キーとして使用することはできません。
1052+
この動作の違いの1つの結果として、ミュータブルなタイプは「安定」ではないため、辞書キーとして使用することはできません。
10531053

10541054
.. Using properly mutable types for things that are mutable in nature
10551055
.. and immutable types for things that are fixed in nature
10561056
.. helps to clarify the intent of the code.
10571057
1058-
自然に変更可能なものに対しては適切に変更可能な型を使用し、性質上固定されているものに対しては変更不可能な型を使用すると、コードの意図を明確にするのに役立ちます。
1058+
自然に変更可能なものに対しては適切にミュータブルな型を使用し、性質上固定されているものに対してはイミュータブルなタイプを使用すると、コードの意図を明確にするのに役立ちます。
10591059

10601060
.. For example, the immutable equivalent of a list is the tuple, created
10611061
.. with ``(1, 2)``. This tuple is a pair that cannot be changed in-place,
@@ -1113,7 +1113,7 @@ Pythonには、組み込み型とユーザー定義型の2種類があります
11131113
.. like above or in cases where you are adding to an existing string, using
11141114
.. ``join()`` should be your preferred method.
11151115
1116-
文字列について言及する最後の1つは、 ``join()`` を使うことが必ずしも最良ではないということです。あらかじめ決められた数の文字列から新しい文字列を作成する場合は、加算演算子を使用するほうが高速ですが、上記のような場合や既存の文字列に追加する場合は ``join()`` があなたの好みの方法であるべきです
1116+
文字列について言及する最後の1つは、 ``join()`` を使うことが必ずしも最良ではないということです。あらかじめ決められた数の文字列から新しい文字列を作成する場合は、加算演算子を使用するほうが高速ですが、上記のような場合や既存の文字列に追加する場合は ``join()`` の方が好ましいでしょう
11171117

11181118
.. code-block:: python
11191119

0 commit comments

Comments
 (0)