Workflow Tips
İşte Julia ile verimli çalışmak için bazı ipuçları.
REPL-based workflow
Daha önce The Julia REPL içinde açıklandığı gibi, Julia'nın REPL'i, verimli bir etkileşimli iş akışını kolaylaştıran zengin işlevsellik sunar. İşte komut satırındaki deneyiminizi daha da geliştirebilecek bazı ipuçları.
A basic editor/REPL workflow
En temel Julia iş akışları, bir metin düzenleyicisini julia komut satırı ile birlikte kullanmayı içerir.
Bir dosya oluşturun, örneğin Tmp.jl, ve içine şunları ekleyin:
module Tmp
say_hello() = println("Hello!")
# Your other definitions here
end # module
using .TmpSonra, aynı dizinde, Julia REPL'ini başlatın ( julia komutunu kullanarak). Yeni dosyayı aşağıdaki gibi çalıştırın:
julia> include("Tmp.jl")
julia> Tmp.say_hello()
Hello!REPL'de fikirleri keşfedin. İyi fikirleri Tmp.jl dosyasına kaydedin. Dosya değiştirildikten sonra yeniden yüklemek için sadece tekrar include edin.
Yukarıdaki anahtar, kodunuzun bir modülde kapsüllenmiş olmasıdır. Bu, struct tanımlarını düzenlemenize ve yöntemleri kaldırmanıza olanak tanır, Julia'yı yeniden başlatmadan.
(Açıklama: structlar tanımlandıktan sonra düzenlenemez, yöntemler de silinemez. Ancak bir modülün tanımını yeniden yazabilirsiniz ki bu da include("Tmp.jl") yaptığımızda gerçekleşir.)
Ayrıca, bir modülde kodun kapsüllenmesi, REPL'deki önceki durumdan etkilenmesini engelleyerek, sizi zor tespit edilen hatalardan korur.
Browser-based workflow
Tarayıcıda Julia ile etkileşimde bulunmanın birkaç yolu vardır:
Revise-based workflows
REPL veya IJulia'da olsanız da, genellikle geliştirme deneyiminizi Revise ile geliştirebilirsiniz. Julia başlatıldığında Revise'in başlaması için genellikle yapılandırma yapmak yaygındır; bu, Revise documentation içindeki talimatlara göre yapılır. Yapılandırıldıktan sonra, Revise, yüklenen modüllerdeki dosyalardaki değişiklikleri ve REPL'e includet ile yüklenen dosyaları (ancak düz include ile değil) takip eder; ardından dosyaları düzenleyebilir ve değişiklikler julia oturumunuzu yeniden başlatmadan etkili olur. Standart bir iş akışı, yukarıdaki REPL tabanlı iş akışına benzer, aşağıdaki değişikliklerle:
Kodunuzu yükleme yolunuzda bir modüle yerleştirin. Bunu başarmanın birkaç yolu vardır, bunlardan iki önerilen seçenek şunlardır:
Uzun vadeli projeler için PkgTemplates kullanın:
using PkgTemplates t = Template() t("MyPkg")Bu,
.julia/devdizininizde boş bir paket,"MyPkg"oluşturacaktır. PkgTemplates'inTemplateyapıcısı aracılığıyla birçok farklı seçeneği kontrol etmenize olanak tanıdığını unutmayın.Adım 2'de,
MyPkg/src/MyPkg.jldosyasını kaynak kodunu değiştirmek için veMyPkg/test/runtests.jldosyasını testler için düzenleyin."Atık" projeler için, işinizi geçici dizininizde (örneğin,
/tmp) yaparak temizlik ihtiyacını ortadan kaldırabilirsiniz.Geçici dizininize gidin ve Julia'yı başlatın, ardından aşağıdakileri yapın:
pkg> generate MyPkg # type ] to enter pkg mode julia> push!(LOAD_PATH, pwd()) # hit backspace to exit pkg modeEğer Julia oturumunuzu yeniden başlatırsanız,
LOAD_PATH'i değiştiren o komutu yeniden vermeniz gerekecek.Adım 2'de,
MyPkg/src/MyPkg.jldosyasını düzenleyerek kaynak kodunu değiştirin ve istediğiniz herhangi bir test dosyası oluşturun.
Paketinizi geliştirin
Önce herhangi bir kod yüklemeden önce, Revise'in çalıştığından emin olun:
using Reviseyazın veya otomatik olarak çalışacak şekilde yapılandırma ile ilgili belgelerini takip edin.Sonra test dosyanızın bulunduğu dizine gidin (burada
"runtests.jl"olduğu varsayılmaktadır) ve aşağıdakileri yapın:julia> using MyPkg julia> include("runtests.jl")Kodunuzu MyPkg içinde düzenli olarak değiştirebilir ve testleri
include("runtests.jl")ile yeniden çalıştırabilirsiniz. Değişikliklerin etkisini görmek için genellikle Julia oturumunuzu yeniden başlatmanıza gerek yoktur (birkaç limitations hariç).