Cairo Projelerini Paketler, Kasalar ve Modüllerle Yönetme

Büyük programlar yazdıkça, kodunuzu düzenlemek giderek daha önemli hale gelecektir. İlgili işlevleri gruplayarak ve farklı özelliklere sahip kodları ayırarak, belirli bir özelliği uygulayan kodu nerede bulacağınızı ve bir özelliğin nasıl çalıştığını değiştirmek için nereye gideceğinizi netleştireceksiniz.

Şimdiye kadar yazdığımız programlar bir modülde bir dosyada yer almıştır. Bir proje büyüdükçe, kodu birden fazla modüle ve ardından birden fazla dosyaya ayırarak düzenlemeniz gerekebilir. Bir paket büyüdükçe, parçaları dışa bağımlılıklar haline gelen ayrı kraytlara çıkarabilirsiniz. Bu bölüm tüm bu teknikleri ele almaktadır.

Ayrıca, uygulama ayrıntılarını kapsüllemeyi de tartışacağız; bu da size daha yüksek bir seviyede kodu yeniden kullanma imkanı tanır: Bir işlemi uyguladıktan sonra, diğer kodlar kodunuzun nasıl çalıştığını bilmeksizin kodunuzu çağırabilir.

A related concept is scope: the nested context in which code is written has a set of names that are defined as “in scope”. When reading, writing, and compiling code, programmers and compilers need to know whether a particular name at a particular spot refers to a variable, function, struct, enum, module, constant, or other item and what that item means. You can create scopes and change which names are in or out of scope. You can’t have two items with the same name in the same scope.

Cairo, kodunuzun organizasyonunu yönetmenize olanak tanıyan bir dizi özellik sunar. Bu özellikler bazen modül sistemi olarak topluca anılır ve şunları içerir:

  • Packages: A Scarb feature that lets you build, test, and share crates.
  • Crates: A tree of modules that corresponds to a single compilation unit. It has a root directory, and a root module defined at the lib.cairo file under this directory.
  • Modüller ve kullan: Öğelerin organizasyonunu ve kapsamını kontrol etmenizi sağlar.
  • Paths: A way of naming an item, such as a struct, function, or module.

Bu bölümde, tüm bu özellikleri ele alacak, nasıl etkileşime girdiklerini tartışacak ve kapsamı yönetmek için nasıl kullanılacaklarını açıklayacağız. Sonunda, modül sistemini sağlam bir şekilde anlamalı ve kapsamlarla profesyonelce çalışabilmelisiniz!