No-code alətləri dərc edilib ki, Python dilindəki skriptlərdə kodu gizlətməyə imkan tanıyır. Dəyişdirilmiş skript kod redaktorlarında «# coding: no» şərhi kimi görünür və heç bir əlavə məzmun təqdim etmir, amma əvvəlki funksiyalarını icra etməyə davam edir. Bu alət, kodun olmaması şəklində təhlükəsiz və etibarlı proqramlar yazmanın ən yaxşı yolu kimi qəbul edilən No Code zarafat fəlsəfəsindən ilhamlanaraq yaradılmışdır. Bu fəlsəfə yaxşıdır, amma bəzən proqramdan bir şeylər etməsi tələb olunur. No-code bu problemi həll edir və
gizli kodu iki sıfır uzunluqlı Unicode simvolu ilə kodlaşdırmaq prinsipi üzərində qurulub (boşluq yaratmayan 0x200B və 0x200C simvolları). Bir görünməz simvol «0» təşəkkül edir, digəri isə «1» ilə göstərilir. $ cat some_code.py print(«Hello, world!») $ no_code some_code.py > no_code.py $ cat no_code.py # coding: no $ python no_code.py Hello, world! $ yes_code no_code.py > some_code.py $ cat some_code.py print(«Hello, world!»)
Skriptdəki «# coding: no» şərti gizli kodu olan faylın kodlaşdırma adını «no» göstərir — «coding:» açar sözünün Python-da mənbə kodunun kodlaşdırmasını təyin etmək üçün istifadə edilir. Dəyişdirilmiş skripti icra etmək üçün «no_code» Python paketinin qurulması tələb olunur ki, bu paket «no.pth» adlı fayl daxildir, şəklinin kodlaşdırmasını həyata keçirmək üçün «no» adında kodlaşdırma istifadə edildikdə çağırılır. Faylın tamının gizlədilməsi əvəzinə ayrı-ayrı kod hissələrini gizlətmək üçün no_code.nothing() və no_code.something() funksiyaları təqdim olunur.
Bənzər layihələr arasında Perl modulunun Acme::Bleach-i qeyd etmək olar ki, kodu boşluq və tabulyasiyaya çevirir, eləcə də JavaScript kitabxanası INVISIBLE.js kodu sıfır uzunluğundakı simvollara kodlaşdıraraq gizlətməyə imkan verir.
Mənbə: opennet.ru
