it-swarm.asia

Menyimpan & mengembalikan undo stack - baik atau buruk?

Dalam aplikasi desktop yang berdaulat dengan undo/redo multi-level (yaitu Photoshop, Word, dll), akan dapat menyimpan dan mengembalikan sejarah undo file dengan file itu sendiri menjadi hal yang baik atau buruk? Reaksi awal saya adalah "baik", namun saya menemukan saya kadang-kadang memegang Control + Z sampai berhenti bekerja untuk kembali ke versi sebelumnya. Adakah studi atau pengalaman dengan ini?

12
Robert Fraser

Salah satu contoh aplikasi semacam itu adalah IntelliJ IDEA (dan beberapa lingkungan pemrograman lainnya). Selain eksternal proyek khusus biasa kontrol revisi , IDEA memiliki khusus pengguna riwayat lokal yang menyimpan revisi setiap file pada setiap penyimpanan (riwayat disimpan di dalam direktori home pengguna). Revisi lama disimpan secara default selama 3 hari kerja aktif, setelah itu revisi lama dihapus. Ditambah dengan fitur menyimpan semua file secara otomatis setiap beberapa detik (my preferensi adalah setelah diam selama 5 detik), ini berarti bahwa Anda tidak akan pernah perlu berpikir tentang menyimpan file, dan Anda selalu bisa mendapatkan kembali data lama. Ini adalah penyelamat nyata saat pemrograman. (Kadang-kadang saya juga menggunakannya untuk mencari tahu bagaimana berjam-jam saya bekerja di sebuah proyek, untuk mencatat jam kerja saya, karena sejarah lokal menunjukkan tanggal dan waktu setiap perubahan.)

Kontrol revisi eksternal masih diperlukan, tetapi untuk kebutuhan lain - di sana Anda akan melakukan perubahan biasanya ketika Anda menyelesaikan pekerjaan yang konsisten, setidaknya sekali setiap 1-2 jam, dan itu juga cara untuk mendistribusikan perubahan Anda ke tim lain anggota dan membuat cadangan. Sejarah lokal di sisi lain adalah untuk pulih dari kecelakaan beberapa detik atau menit setelah itu terjadi.

Saya pikir banyak program lain akan mendapat manfaat dari sejarah lokal yang serupa. Saya akan senang jika Office Suite saya memilikinya, karena undo/redo stack dan secara manual menyimpan file adalah cara yang sangat primitif untuk memulihkan data yang hilang (mereka tidak memungkinkan pemulihan selektif dan mereka tidak selamat memulai kembali program). Saya juga ingat melihat aplikasi pengeditan gambar (saya tidak ingat namanya - saya pikir itu hanya untuk Mac), di mana semua pengeditan dilakukan sebagai transformasi dari gambar asli, dan Anda dapat kapan saja kembali untuk mengubah hasil edit sebelumnya. Jadi sejarah semacam itu dimungkinkan bahkan dengan pengeditan gambar.

Saya tidak berpikir bahwa saya ingin sejarah disimpan dalam file yang sedang diedit - jika tidak maka akan menjadi sangat besar (revisi setiap beberapa detik; sejarah lokal saya untuk proyek pemrograman yang telah saya kerjakan dalam satu tahun adalah 370 MB) dan itu dapat menyebabkan masalah keamanan dengan membocorkan data yang Anda pikir telah Anda hapus - tetapi riwayat per pengguna akan bagus.

7
Esko Luontola

sesekali saya berharap photoshop atau Word memiliki fungsi seperti itu, Di sisi lain seperti yang Anda katakan, saya sering menekan control-z sampai berhenti.

Masalah lainnya adalah kinerja. Pikirkan konsep dokumen Word yang diedarkan dan diedit selama berminggu-minggu. Itu akan sangat besar! dan mengambil selamanya untuk memuat.

Namun masalah lain adalah privasi. Saya tidak ingin orang melihat langkah apa yang saya ambil untuk melukis gambar di Photoshop, atau apa proposal saya sebelumnya ke papan tulis.

Sebagai kesimpulan, saya pikir itu bisa menjadi Nice tetapi Anda harus memiliki cara untuk membersihkan sejarah demi kinerja dan untuk privasi dan juga mungkin jika seseorang menekan ctrl-z Anda harus berhenti ketika Anda menekan negara bagian doc adalah ketika itu terakhir dibuka dan bertanya apakah dia yakin ingin melanjutkan.

7
Sruly

Sepertinya saya bahwa Anda tidak ingin membatalkan/mengulang, tetapi versi file, atau kontrol revisi . (Saya tidak tahu tentang Photoshop, tetapi Word memiliki fitur ini, dinonaktifkan secara default).

7
peeles

Mungkin batas waktu pada undo yang default ke 5 menit (dan mungkin atau mungkin tidak menjadi panjang batas waktu yang dapat diedit)? Ini akan membahas masalah yang sangat valid yang dimiliki orang-orang di sini tentang nilai membatalkan data hari/minggu/bulan kemudian. Dan itu akan mengatasi masalah yang dibawa ke sini karena secara tidak sengaja menutup aplikasi dan kehilangan data yang dibatalkan. Dan akan mempertahankan nilai menahan Ctrl + Z untuk menghapus semua perubahan selama "sesi" (di mana sekarang "sesi" berarti setiap penggunaan yang tidak aktif kurang dari 5 menit pada suatu waktu)

2
Chris Ledwith

Saya sangat suka ini, untuk proyek-proyek kecil dan besar.

Google Chrome ketika Anda mengembalikan tab yang tidak sengaja Anda tutup, akan datang dengan riwayat punggung penuh - yang mengagumkan dengan sendirinya.

Beberapa aplikasi produktif membangun artefak mereka dari tumpukan tindakan, seperti pemodelan 3D tempat Anda menerapkan operasi dalam tumpukan tanpa akhir dan kemudian dapat masuk dan mengubah operasi sebelumnya dan meminta perubahan tersebut menyebar melalui tumpukan ke pengubah saat ini. Format file kemudian didasarkan pada alur tindakan, bukan pada hasil akhir.

Aplikasi apa pun di mana tidak jelas untuk "mempublikasikan" versi final atau publik artefak akan menimbulkan banyak risiko. Seperti jika Anda mengirim dokumen Word dengan riwayat lengkap perubahan yang akan menyinggung penerima (seperti tawaran di mana Anda telah mengubah nama klien dari klien lain atau yang lainnya).

1
Oskar Duveborn

Secara pribadi saya pikir itu buruk. Sistem kontrol versi akan lebih baik untuk ini. Saya tidak berpikir pengguna berharap untuk dapat bekerja dengan cara ini. Saya tidak melihat bagaimana mereka dapat mengingat apa yang ada di tumpukan mereka kembali beberapa hari. Dan ini berpotensi memakan banyak ruang disk dan memori di aplikasi Anda. Maksud saya pengguna pada dasarnya tidak pernah menyingkirkan data. Bagaimana Anda menangani kasus penggunaan di mana pengguna ingin mengosongkan ruang pada hard disk karena kehabisan?

1
Erik Engheim

Perasaan saya adalah bahwa ini adalah alat yang salah untuk pekerjaan itu. Undo dan Redo adalah tentang tindakan dalam proses ini, sehingga saya dapat membatalkan/mengulang suatu tindakan sebelum saya menyimpan dan melanjutkan. Menyimpan di seluruh sesi menurut saya menjadi persyaratan yang berbeda, versi lebih gaya. Saya dapat melihat ada tempat untuk menyimpan redo stack dengan versi yang disimpan dari file/aplikasi, yang berarti bahwa Anda dapat membuka versi dan segera membatalkan tindakan sebelumnya, tetapi ketika Anda mulai melakukan lebih banyak tindakan, Anda kehilangan ini - tumpukan dimulai kembali.

Saya dapat melihat bahwa ini akan berguna - saya dapat melihat beberapa kali saya menginginkannya - tetapi saya masih berpikir bahwa ini bukan penggunaan yang tepat dari fasilitas ini.

0