Что Ваши события используют функциональный проект Java?

Вы можете написать простой синтаксический анализатор для строки, представляющей биты:

Dim sb As StringBuilder = New StringBuilder()
For pos As Integer = 0 To binary.Length - 8 Step 8
    sb.Append(Convert.ToByte(binary.Substring(pos, 8), 2).ToString("X2"))
Next

Console.WriteLine(sb) will print "441CB6E2E335D6"

Или использовать модуль для добавления метода расширения к типу данных строки: [ 117]

Imports System.Runtime.CompilerServices
Imports System.Text

Module modStringExtensions
    <Extension()>
    Public Function ToHexFromBits(ByVal Value As String) As String
        If (Not (Value.Length Mod 8 = 0)) Then Throw New FormatException("Invalid string length")
        Dim sb As StringBuilder = New StringBuilder()
        For pos As Integer = 0 To Value.Length - 8 Step 8
            sb.Append(Convert.ToByte(Value.Substring(pos, 8), 2).ToString("X2"))
        Next
        Return sb.ToString()
    End Function
End Module

Затем используйте расширение для преобразования строки битов в представление HEX :

Dim result As String = binary.ToHexFromBits()
11
задан Community 23 May 2017 в 12:25
поделиться

1 ответ

Я был в команде, которая использует библиотеку FJ, и я знаю других. В одной команде он использовался в качестве замены домашней библиотеки, которая была менее отполированной, в другой он заменял Google Collections. Я также знаю некоторых людей, которые копируют исходный код из FJ для развертывания собственной реализации.

По моему мнению, если вам нужно использовать Java, вы должны использовать что-то вроде функциональной Java, чтобы сделать вашу жизнь проще.

Сделал это повысить качество или ясность кода?

Код, написанный в функциональном стиле, более лаконичен и, следовательно, более понятен. Библиотека поставляется и поощряет использование неизменяемых структур данных, что повышает качество. Библиотека также поддерживает композицию, а не наследование, что улучшает возможность повторного использования вашего кода.

Повышение производительности?

Определенно. Разработчики с более мощными инструментами более продуктивны. По моему опыту разработчики считают, что первоклассные функции делают программирование проще и приятнее. Счастливые программисты - продуктивные программисты.

Уменьшить потенциальные точки отказа?

Более функциональный стиль программирования препятствует изменчивому состоянию, что устраняет большой класс ошибок. Кроме того, более мощные абстракции приводят к меньшему количеству повторений, что сокращает количество мест, где что-то не так.

Влияние на производительность?

Нет оснований полагать, что на производительность будет влиять так или иначе. Предоставленные структуры данных предназначены для простоты использования и выразительности, а не производительности, но они написаны оптимально для того, что они есть. Как и во всем остальном, то, как вы ведете машину, важнее, чем то, что вы ведете. Например, fj.data. Список - это связанный список, поэтому он имеет O (n) произвольный доступ и конкатенацию, поэтому вы избегаете его для этих целей. Для сравнения, fj.data.Stream имеет конкатенацию O (1).

10
ответ дан 3 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: