Як і програміст на C, і програміст на C #, одна з речей, що мені не подобається в C #, - це те, наскільки багатослівні математичні функції. Кожен раз, коли вам доведеться використовувати, наприклад, функцію Sin, косинус або потужність, вам доведеться додавати статичний клас Math. Це призводить до дуже довгого коду, коли саме рівняння досить просте. Проблема стає ще гіршою, якщо вам потрібно ввести типи даних. Як результат, на мою думку, читабельність страждає. Наприклад:
double x = -Math.Cos(X) * Math.Sin(Z) + Math.Sin(X) * Math.Sin(Y) * Math.Cos(Z);
На відміну від просто
double x = -cos(X) * sin(Z) + sin(X) * sin(Y) * cos(Z);
Це також стосується інших мов, таких як Java.
Я не впевнений, чи справді це питання має рішення, але я хотів би знати, чи є якісь хитрощі, які використовуються програмістами C # або Java для поліпшення читабельності коду Math. Однак я усвідомлюю, що C # / Java / тощо. не є математично орієнтованими мовами на зразок MATLAB або подібними, тому це має сенс. Але іноді потрібно все-таки написати математичний код, і це буде чудово, якщо можна зробити його більш читабельним.
using System.Math; … double x = -Cos(X) * Sin(Z) + Sin(X) * Sin(Y) * Cos(Z);
.