Questions tagged [libraries]

A library is a collection of resources providing data and/or services for developing independent software.

Filter by
Sorted by
Tagged with
0 votes
4 answers
195 views

Is API exactly the same as header file?

I am trying to understand the difference between an Application Programming Interface and a Library and I stumbled upon this question: https://stackoverflow.com/questions/3678665/is-there-still-a-...
  • 149
0 votes
2 answers
157 views

Why session should be a param when you write a query function?

I read a lot of examples where I read code like this: def get_user_by_id(session, id) ... and the function that calls that function needs to create or get the DB session a pass to the function. the ...
  • 387
4 votes
5 answers
603 views

How to prevent in house frameworks and libraries from becoming technical debt

My company develops many relatively small projects that a lot of times do the same things and have a similar structure. (e.g. read/write to a databse, data pre processing, building a query etc.). This ...
  • 57
-1 votes
1 answer
45 views

How to handle config/env vars in a library project

I am building a new Python library project to be consumed by several of my application projects. The existing code consumes environment variables for various configuration settings. Should my ...
  • 163
2 votes
2 answers
146 views

How to document external libraries that have been adopted into an existing codebase?

I have been using an external library for a while now. Unfortunately, it stopped receiving updates, and has since been adopted into my codebase. The issue is the library was poorly documented in the ...
-3 votes
1 answer
60 views

Best way make a complex libraries as a plugin with dependency inversion principle [closed]

For instance, if we have a complex library with many functionalities, how can we make this lib a plugin such that it can be replaced with another lib more easily. The answer obviously is the ...
3 votes
4 answers
1k views

How to get an ILogger instance from extension methods?

Let's say I have this service abstraction exposed from a library. public interface INavigator { ImmutableList<IPageViewModel> Entries { get; } void NavigateForward(IPageViewModel page); ...
  • 204
2 votes
2 answers
171 views

Design pattern to create a shared lib architecture

I am making a renderer as a hobby, one thing I thought to try is making the low levelAPI be dynamically swappable, i.e. you could have an opengl or vulkan backend and switch between the two without ...
  • 241
2 votes
2 answers
234 views

Strategy for offering a library both a single-header and as a header + compiled implementation

I am maintaining a FOSS library which, for the sake of discussion, consists of a small .h file and a larger .c file (plus build-related files, see below) I've been requested to offer this library as a ...
  • 2,447
5 votes
1 answer
455 views

Is changing the exception a method throws a breaking change for a library?

I have a library that I am distributing on maven in the new version I will be changing the exceptions some methods are throwing. Is this considered a breaking change? If this is the only change in the ...
2 votes
3 answers
162 views

Should I ensure my libfoo library's include file can be included as foo/foo.h?

I'm maintaining a small C library; let's call it libfoo. It has quite a few users (actually it's complicated - it's the main fork of a highly popular library which has been abandoned); and it sports a ...
  • 2,447
1 vote
1 answer
92 views

Re-export (certain) library components from barrel file

Situation At the project I'm currently working on we're using Chakra UI to create our UI. But I guess this question applies to whatever (UI) library you're using. There are certain components that ...
  • 111
40 votes
7 answers
10k views

Why do library developers deliberately break existing code?

Today, I updated ZBateson\MailMimeParser the PHP e-mail parser library from 1.x to 2.x. Soon enough, my PHP error log started filling up with errors. Noting where it happened, I found out that it had ...
6 votes
3 answers
405 views

How to simplify exception handling for library users?

Suppose of having a library exposing the following piece of functionality: public static class AwesomeHelpers { public static async Task<int> ComputeSomethingImportAsync(CalculationInputs ...
3 votes
1 answer
200 views

Shared library and modules with versioning

I have different versions of modules and they should all work together with the same shared library which could also have different versions like displayed in the image below: From a daily use ...
0 votes
1 answer
427 views

How to expose C++ static library interface, extending Pimpl to an abstract interface

Until today I had a static C++ library with no separation between the public interface and internal headers. My other apps just linked to it, included the required headers, and used whatever they ...
2 votes
2 answers
117 views

What's a good solution for prioritising tasks for a company code library?

I work at a game company that has a Core Library with a bunch of ultities, extensions and systems that we typically import large chunks of into projects. Recently we have been trying to improve our ...
0 votes
3 answers
1k views

"Hard coded" vs. configuration files for values in libraries? (code organization question)

I'm trying to get a good understanding as to whether there is a best practice or standard regarding keeping values within your code libraries or referencing them from another config file. I don't ...
  • 3
2 votes
4 answers
326 views

Is it common practice to declare exceptions in a library that won't be thrown or caught anywhere within that library?

I have a very basic library that serves the purpose of collecting some useful but simple pieces of code. Like for example a Percent struct or functions like ToDegrees() and ToRadians(), just to give ...
3 votes
4 answers
306 views

Should functions depend on other functions?

Suppose I have a function to log error messages printError(). Suppose I have another function which might throw an error, doSomething(). Should doSomething() implement its own error logging or depend ...
2 votes
0 answers
124 views

Drawing the boundary between high level API and low level API

Assume that were developing a cross platform graphics engine. Now we have quite a lot of low level APIs to choose from (OpenGL, Vulkan, DirectX 11, DirectX 12, ...). Now because of this, we are gonna ...
  • 129
-2 votes
1 answer
93 views

How to start developing a well architected Javascript Library?

I want to start developing an. open-source javascript library. I can see other open-source libraries are well structured. They have src, dist, test kind of folders, etc. Which is making me very ...
1 vote
1 answer
37 views

CLI and Lib package, where to put module loading code

My Software contains a lib package, a cli package and an arbitrary number of plugin packages. The plugin packages do the algorithmic work. The lib package basically just executes the plugins and ...
3 votes
2 answers
2k views

Programming a library in multiple languages

I am planning to implement a cryptographic library for several languages and looking for best practices. I have looked at several threads, especially this, this, and this one, which answer my ...
-2 votes
1 answer
76 views

In C++, does it make sens to have library project be composed of other libraries?

I'm working on a C++ project which is currently divided into "sub modules" / "components". Each of these are compiled into a separate library (components are usually 10-20 files). The libraries are ...
1 vote
2 answers
52 views

Suitable way to round results returned by any function of a class

Assume there is a class Shape. The class has two functions area() and perimeter(). Let's say Circle and Square inherit from Shape and override these methods. Obviously the results are going to be ...
-4 votes
1 answer
52 views

Development paradigms of ML libraries

I know that Tensorflow use symbolic model-building APIs where the developers can use them to build static computational graphs. Whereas Pytorch offer imperative programming paradigm where it performs ...
  • 1
1 vote
1 answer
188 views

Backward compatibility testing

As a creator of a software library, how can I verify backward compatibility with earlier versions? When using a dependency management (here: Maven), multiple versions of my dependency could be (...
  • 135
0 votes
1 answer
103 views

When does it make sense to update eslint/prettier?

I have the following setup: different teams shared eslint config (that imports airbnb rules as a basis). Whenever a developer decides to update libraries, if eslint/prettier have updates, it's a ...
44 votes
5 answers
13k views

What is the difference between a library and a dependency?

In this docker beginner video its explained, that different stacks may depend on different libraries and dependencies and that this can be handled with Docker. However, I don't get what the ...
  • 567
2 votes
2 answers
253 views

Is it a best practice or anti-pattern to export mock versions of functions for a library?

Context We are creating a library that makes an API (HTTP) request to a 3rd party. During testing we have written mock versions of the functions that make external requests so that we can test the ...
  • 137
2 votes
1 answer
208 views

What is the name of the throw-an-exception on invalid inputs pattern?

In some .NET libraries, there's a pattern of two alternative ways to call a function. int i = x.GetValue(k); /* Might throw. */ if (x.TryGetValue(k, out int i) { /*...*/ } else { /* ... */ } I ...
  • 611
0 votes
1 answer
110 views

How should I provide generic typing and allocation for a collection library in C?

I am in the process of implementing a persistent collection in C, specifically, an immutable hash trie. In order to increase acceptance and reusability, I have identified the following key areas that ...
  • 159
1 vote
0 answers
42 views

how to handle external shared libraries, which we do not want to expose

We have 800-900 services we expose via an ESB. Each service is a web app hosted on Tomcat servers. We have 4 tomcat servers per group of services. Our services are split into 4 groups. Each service (...
1 vote
1 answer
125 views

Is it common to include a specific build of a library/ tool for production level project?

I am working with C++ in a Linux/ Unix environment. I am trying to learn the physical design of large scale projects. In one of my projects, I am using an SDK from a camera manufacturer. They released ...
  • 123
0 votes
0 answers
147 views

Ensure that library has been initialized

I am using a 3rd party library that must be initialized with Lib::init() before any of its other functions may be called and that must be uninitialized with Lib::destroy() before the application ends. ...
  • 1,697
2 votes
1 answer
540 views

Are symbolic links a good way to 'import' a project into another?

I've been thinking on how to import a project B into a project A, which both are GitHub repositories. Project B is a library I reuse over many projects, I do add stuff in it, directly from project X, ...
  • 727
2 votes
2 answers
161 views

Organization of C++ source code for reusable components

I'm implementing a custom templated container as part of a learning project in C++. The container makes use of different components like serialization, memory management, iterators. I am wondering ...
  • 31
-1 votes
1 answer
114 views

Better stdbool.h

How about instead of #define bool _Bool #define true 1 #define false 0 #define __bool_true_false_are_defined 1 We should have this: #define bool _Bool #define true (bool)1 #define false (bool)0 #...
's user avatar
-1 votes
1 answer
85 views

Use two parallel instances of the same .NET assembly

I've have an n-tier .NET 4.6 internal business application. It has a business logic layer class library project that references a data access layer class library project. It's designed to decouple the ...
  • 189
-1 votes
2 answers
535 views

Can a service be split into two microservices using common libraries?

I am thinking of splitting a service serving multiple endpoints into microservices that can serve a set of endpoints but the problem is that the two services have certain logic in common. can the two ...
1 vote
1 answer
154 views

Create a common interface to use N libraries and define specific behaviours

I am creating a browser automation library that is capable of using Puppeteer(automates chromium) and Selenium(automates all major browsers), but the goal is to also be able to add more libraries in ...
-1 votes
1 answer
143 views

How to figure out if a certain technology/library is used in development of a proprietary application [closed]

Not sure if the question is relevant here, but basically it is expressed on the title. I'm curious to know if a certain library/technology is used in a proprietary software. How can I satisfy my ...
2 votes
1 answer
230 views

Managing compatibility and dependencies in code library

I manage a library that is made of multiple components, there is some dependencies between some of these components, for example I have a core library for common code base that is referenced by other ...
  • 359
7 votes
5 answers
503 views

How to keep developers informed about a code library in large organizations?

Although our products often have the same requirements, the solutions are always developed anew. From different people, with different good results and different quality. A code library especially for ...
  • 475
2 votes
1 answer
46 views

Should I update the major version of a consumer package if one of its critical dependencies has a major update?

This is a scenario I have seen: I have a shared library with code that fetches data from an api. Let's call this ApiProvider. Currently this ApiProvider is in version 1.1.1 and is currently pointing ...
1 vote
1 answer
341 views

Public class members in PIMPL

I'm attempting to use the PIMPL idiom. This is my public header file in include/foo.h: class FooPrivate; class Foo { public: Foo(); ~Foo(); private: FooPrivate* p_impl; }; ...
  • 89
4 votes
1 answer
461 views

Benefits of Java's InputStream and OutputStream over .NET's Stream

Java has a notion of separate InputStreams and OutputStreams. Your code reads from an InputStream and writes to an OutputStream. .NET does not have this distinction, instead it has a single Stream ...
1 vote
2 answers
778 views

Refactor namespaces in a library while keeping backwards-compatibility

We developed a generic .NET library for our line-of business applications. This is what our namespace/class structure looked like 5 years ago: ... AcmeCorp.Tools.ExcelWriter AcmeCorp.Tools....
  • 9,466
0 votes
0 answers
48 views

Do I need provide translation for an UI library

I have a library for a lockscreen in Android, that includes diferent dilogs for fingerprints, texts and all that stuff. My question is: What the best practice to provide localization. Should I have ...

1
2 3 4 5
8