XYOracleNetwork/sdk-ble-flutter

View on GitHub

Showing 312 of 312 total issues

GattOperation has 47 methods (exceeds 20 allowed). Consider refactoring.
Open

  public  static final class GattOperation extends
      com.google.protobuf.GeneratedMessageLite<
          GattOperation, GattOperation.Builder> implements
      // @@protoc_insertion_point(message_implements:GattOperation)
      GattOperationOrBuilder {

    GattResponse has 46 methods (exceeds 20 allowed). Consider refactoring.
    Open

      public  static final class GattResponse extends
          com.google.protobuf.GeneratedMessageLite<
              GattResponse, GattResponse.Builder> implements
          // @@protoc_insertion_point(message_implements:GattResponse)
          GattResponseOrBuilder {

      GattResponse has 46 methods (exceeds 20 allowed). Consider refactoring.
      Open

        public  static final class GattResponse extends
            com.google.protobuf.GeneratedMessageLite<
                GattResponse, GattResponse.Builder> implements
            // @@protoc_insertion_point(message_implements:GattResponse)
            GattResponseOrBuilder {

        GattOperationList has 40 methods (exceeds 20 allowed). Consider refactoring.
        Open

          public  static final class GattOperationList extends
              com.google.protobuf.GeneratedMessageLite<
                  GattOperationList, GattOperationList.Builder> implements
              // @@protoc_insertion_point(message_implements:GattOperationList)
              GattOperationListOrBuilder {

          GattOperationList has 40 methods (exceeds 20 allowed). Consider refactoring.
          Open

            public  static final class GattOperationList extends
                com.google.protobuf.GeneratedMessageLite<
                    GattOperationList, GattOperationList.Builder> implements
                // @@protoc_insertion_point(message_implements:GattOperationList)
                GattOperationListOrBuilder {

            Builder has 39 methods (exceeds 20 allowed). Consider refactoring.
            Open

                public static final class Builder extends
                    com.google.protobuf.GeneratedMessageLite.Builder<
                      network.xyo.ble.flutter.protobuf.Device.BluetoothDevice, Builder> implements
                    // @@protoc_insertion_point(builder_implements:BluetoothDevice)
                    network.xyo.ble.flutter.protobuf.Device.BluetoothDeviceOrBuilder {

              Builder has 39 methods (exceeds 20 allowed). Consider refactoring.
              Open

                  public static final class Builder extends
                      com.google.protobuf.GeneratedMessageLite.Builder<
                        network.xyo.ble.flutter.protobuf.Device.BluetoothDevice, Builder> implements
                      // @@protoc_insertion_point(builder_implements:BluetoothDevice)
                      network.xyo.ble.flutter.protobuf.Device.BluetoothDeviceOrBuilder {

                Similar blocks of code found in 2 locations. Consider refactoring.
                Open

                  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
                    _ = _uniqueStorage()
                    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
                      while let fieldNumber = try decoder.nextFieldNumber() {
                        switch fieldNumber {
                Severity: Major
                Found in ios/Classes/protos/gatt.pb.swift and 1 other location - About 5 hrs to fix
                ios/Classes/protos/gatt.pb.swift on lines 396..421

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 312.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 2 locations. Consider refactoring.
                Open

                  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
                    _ = _uniqueStorage()
                    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
                      while let fieldNumber = try decoder.nextFieldNumber() {
                        switch fieldNumber {
                Severity: Major
                Found in ios/Classes/protos/gatt.pb.swift and 1 other location - About 5 hrs to fix
                ios/Classes/protos/gatt.pb.swift on lines 562..587

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 312.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Builder has 37 methods (exceeds 20 allowed). Consider refactoring.
                Open

                    public static final class Builder extends
                        com.google.protobuf.GeneratedMessageLite.Builder<
                          network.xyo.ble.flutter.protobuf.BoundWitness.DeviceBoundWitness, Builder> implements
                        // @@protoc_insertion_point(builder_implements:DeviceBoundWitness)
                        network.xyo.ble.flutter.protobuf.BoundWitness.DeviceBoundWitnessOrBuilder {

                  Family has 37 methods (exceeds 20 allowed). Consider refactoring.
                  Open

                    public  static final class Family extends
                        com.google.protobuf.GeneratedMessageLite<
                            Family, Family.Builder> implements
                        // @@protoc_insertion_point(message_implements:Family)
                        FamilyOrBuilder {

                    Builder has 37 methods (exceeds 20 allowed). Consider refactoring.
                    Open

                        public static final class Builder extends
                            com.google.protobuf.GeneratedMessageLite.Builder<
                              network.xyo.ble.flutter.protobuf.BoundWitness.DeviceBoundWitness, Builder> implements
                            // @@protoc_insertion_point(builder_implements:DeviceBoundWitness)
                            network.xyo.ble.flutter.protobuf.BoundWitness.DeviceBoundWitnessOrBuilder {

                      Family has 37 methods (exceeds 20 allowed). Consider refactoring.
                      Open

                        public  static final class Family extends
                            com.google.protobuf.GeneratedMessageLite<
                                Family, Family.Builder> implements
                            // @@protoc_insertion_point(message_implements:Family)
                            FamilyOrBuilder {

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                        extension DeviceBoundWitnessList: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
                          static let protoMessageName: String = "DeviceBoundWitnessList"
                          static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
                            1: .standard(proto: "bound_witnesses"),
                          ]
                        Severity: Major
                        Found in ios/Classes/protos/bound_witness.pb.swift and 1 other location - About 4 hrs to fix
                        ios/Classes/protos/gatt.pb.swift on lines 498..525

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 257.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                        extension GattResponseList: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
                          static let protoMessageName: String = "GattResponseList"
                          static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
                            1: .same(proto: "responses"),
                          ]
                        Severity: Major
                        Found in ios/Classes/protos/gatt.pb.swift and 1 other location - About 4 hrs to fix
                        ios/Classes/protos/bound_witness.pb.swift on lines 58..85

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 257.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Function == has a Cognitive Complexity of 28 (exceeds 5 allowed). Consider refactoring.
                        Open

                          static func ==(lhs: BluetoothDevice, rhs: BluetoothDevice) -> Bool {
                            if lhs._storage !== rhs._storage {
                              let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
                                let _storage = _args.0
                                let rhs_storage = _args.1
                        Severity: Minor
                        Found in ios/Classes/protos/device.pb.swift - About 4 hrs to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        GattResponseList has 32 methods (exceeds 20 allowed). Consider refactoring.
                        Open

                          public  static final class GattResponseList extends
                              com.google.protobuf.GeneratedMessageLite<
                                  GattResponseList, GattResponseList.Builder> implements
                              // @@protoc_insertion_point(message_implements:GattResponseList)
                              GattResponseListOrBuilder {

                          GattResponseList has 32 methods (exceeds 20 allowed). Consider refactoring.
                          Open

                            public  static final class GattResponseList extends
                                com.google.protobuf.GeneratedMessageLite<
                                    GattResponseList, GattResponseList.Builder> implements
                                // @@protoc_insertion_point(message_implements:GattResponseList)
                                GattResponseListOrBuilder {

                            DeviceBoundWitnessList has 32 methods (exceeds 20 allowed). Consider refactoring.
                            Open

                              public  static final class DeviceBoundWitnessList extends
                                  com.google.protobuf.GeneratedMessageLite<
                                      DeviceBoundWitnessList, DeviceBoundWitnessList.Builder> implements
                                  // @@protoc_insertion_point(message_implements:DeviceBoundWitnessList)
                                  DeviceBoundWitnessListOrBuilder {

                              DeviceBoundWitnessList has 32 methods (exceeds 20 allowed). Consider refactoring.
                              Open

                                public  static final class DeviceBoundWitnessList extends
                                    com.google.protobuf.GeneratedMessageLite<
                                        DeviceBoundWitnessList, DeviceBoundWitnessList.Builder> implements
                                    // @@protoc_insertion_point(message_implements:DeviceBoundWitnessList)
                                    DeviceBoundWitnessListOrBuilder {
                                Severity
                                Category
                                Status
                                Source
                                Language