Maaf, tetapi saya harus tidak setuju dengan sebagian besar jawaban 'ya Anda bisa' dan mengatakan bahwa:
Saya akan mencegah kelas memanggil satu metode publik dari yang lain
Ada beberapa masalah potensial dengan praktik ini.
1: Infinite loop di kelas yang diwarisi
Jadi kelas dasar Anda memanggil method1 dari method2 tetapi kemudian Anda, atau orang lain, mewarisi method1 dan menyembunyikan method1 dengan metode baru yang memanggil method2.
2: Acara, Pencatatan dll.
misal saya punya metode Add1 yang memancarkan suatu peristiwa '1 ditambahkan!' Saya mungkin tidak ingin metode Add10 meningkatkan kejadian itu, menulis ke log atau apa pun, sepuluh kali.
3: threading dan deadlock lainnya
Misalnya, InsertComplexData membuka koneksi db, memulai transaksi, mengunci tabel, Kemudian memanggil InsertSimpleData, dengan membuka koneksi, memulai transaksi, menunggu tabel dibuka ...
Saya yakin ada lebih banyak alasan, salah satu jawaban lain menyentuh 'Anda mengedit metode1 dan terkejut metode2 mulai berperilaku berbeda'
Secara umum, jika Anda memiliki dua metode publik yang berbagi kode, lebih baik membuat keduanya memanggil metode pribadi daripada satu panggilan yang lain.
Edit ----
Mari kita memperluas kasus khusus di OP.
kami tidak memiliki banyak detail tetapi kami tahu bahwa ReverseData dipanggil oleh event handler dari beberapa jenis serta metode ScheduleTransmission.
Saya berasumsi bahwa membalikkan data juga mengubah keadaan internal objek
Mengingat kasus ini, saya akan berpikir bahwa keselamatan utas akan menjadi penting dan karenanya keberatan ketiga saya terhadap praktik ini berlaku.
Untuk membuat thread ReverseData aman, Anda dapat menambahkan kunci. Tetapi jika ScheduleTransmission juga perlu diamankan, Anda ingin berbagi kunci yang sama.
Cara termudah untuk melakukan ini adalah dengan memindahkan kode ReverseData ke metode pribadi dan kedua metode publik menyebutnya. Anda kemudian dapat meletakkan pernyataan kunci di Metode Publik dan berbagi objek kunci.
Jelas Anda dapat berdebat "itu tidak akan pernah terjadi!" atau "Saya bisa memprogram kunci dengan cara lain" tetapi poin tentang praktik pengkodean yang baik adalah untuk menyusun kode Anda dengan baik sejak awal.
Dalam istilah akademis saya akan mengatakan ini melanggar huruf L dalam huruf padat. Metode publik lebih dari sekadar dapat diakses secara publik. Mereka juga dapat dimodifikasi oleh pewarisnya. Kode Anda harus ditutup untuk modifikasi yang berarti Anda harus memikirkan pekerjaan apa yang Anda lakukan baik dalam metode publik maupun yang dilindungi.
Inilah satu lagi: Anda juga berpotensi melanggar DDD. Jika objek Anda adalah objek domain, metode publiknya haruslah istilah Domain yang berarti sesuatu bagi bisnis. Dalam hal ini sangat tidak mungkin bahwa 'beli selusin telur' sama dengan 'beli 1 telur 12 kali' bahkan jika itu dimulai dengan cara itu.